:root{
  --navy:#0e2438; --navy2:#16324f; --blue:#2e5a88; --gold:#c9a24b; --gold2:#e3c47e;
  --bg:#f7f9fc; --ink:#1c2733; --muted:#5a6470; --white:#ffffff; --line:#e3e9f1;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}
h1,h2,h3,.serif{font-family:'Playfair Display',serif}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,92%);margin:0 auto}
section{padding:88px 0}
.kicker{display:inline-block;letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:var(--gold);margin-bottom:14px}
.h2{font-size:clamp(1.7rem,3.4vw,2.5rem);color:var(--navy);margin-bottom:18px;line-height:1.2}
.lead{color:var(--muted);max-width:760px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.on{opacity:1;transform:none}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(14,36,56,.92);backdrop-filter:blur(8px);transition:box-shadow .3s}
nav .bar{display:flex;align-items:center;justify-content:space-between;height:64px;width:min(1160px,92%);margin:0 auto}
.logo{color:#fff;font-weight:700;font-family:'Playfair Display',serif;font-size:1.15rem}
.logo span{color:var(--gold)}
.links{display:flex;gap:20px}
.links a{color:#cfdae6;font-size:.82rem;font-weight:500;transition:color .2s;white-space:nowrap}
.links a:hover{color:var(--gold2)}
.burger{display:none;background:none;border:0;cursor:pointer;width:34px;height:28px;position:relative}
.burger i,.burger i::before,.burger i::after{content:'';position:absolute;left:0;right:0;height:2px;background:#fff;transition:.3s}
.burger i{top:13px}.burger i::before{top:-9px}.burger i::after{top:9px}
@media(max-width:880px){
  .links{position:fixed;inset:64px 0 auto 0;background:var(--navy);flex-direction:column;padding:24px 6%;gap:18px;transform:translateY(-130%);transition:transform .35s}
  .links.open{transform:none}
  .burger{display:block}
}

/* HERO */
header{min-height:100svh;display:flex;align-items:center;position:relative;color:#fff;
 background:linear-gradient(115deg,var(--navy) 0%,var(--navy2) 55%,var(--blue) 100%);overflow:hidden}
header::after{content:'';position:absolute;inset:0;background:radial-gradient(900px 420px at 85% 15%,rgba(201,162,75,.16),transparent 60%)}
.hero{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:110px 0 70px}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.08}
.hero .tag{color:var(--gold2);font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.05rem,2vw,1.4rem);margin:16px 0 20px}
.hero p.sub{color:#c8d4e2;max-width:560px;font-size:.98rem}
.cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 30px;border-radius:50px;font-weight:600;font-size:.88rem;transition:transform .25s,box-shadow .25s,filter .25s}
.btn:hover{transform:translateY(-3px)}
.btn-gold{background:linear-gradient(135deg,var(--gold2) 0%,var(--gold) 45%,#a97f2e 100%);color:var(--navy);box-shadow:0 10px 26px rgba(201,162,75,.38)}
.btn-gold:hover{filter:brightness(1.1);box-shadow:0 16px 34px rgba(201,162,75,.5)}
.btn-ghost{color:#fff;border:2px solid transparent;background:linear-gradient(rgba(255,255,255,.07),rgba(255,255,255,.03)) padding-box,linear-gradient(135deg,var(--gold) 0%,rgba(255,255,255,.35) 50%,var(--blue) 100%) border-box;box-shadow:0 8px 20px rgba(0,0,0,.22)}
.btn-ghost:hover{color:var(--gold2);background:linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.05)) padding-box,linear-gradient(135deg,var(--gold2) 0%,var(--gold) 50%,var(--blue) 100%) border-box;box-shadow:0 14px 30px rgba(0,0,0,.3)}

.btn-linkedin{display:inline-flex;align-items:center;gap:9px;color:var(--gold2);border:2px solid transparent;
  background:linear-gradient(rgba(255,255,255,.06),rgba(255,255,255,.03)) padding-box,
  linear-gradient(120deg,#a97f2e,var(--gold),var(--gold2),#fff,var(--gold2),var(--gold),#a97f2e) border-box;
  background-size:100% 100%,300% 100%;animation:goldflow 4s linear infinite;box-shadow:0 8px 20px rgba(0,0,0,.22)}
.btn-linkedin svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn-linkedin:hover{color:#fff;filter:brightness(1.12)}
@keyframes goldflow{to{background-position:0 0,300% 0}}

.portrait{position:relative;justify-self:center;width:min(360px,80vw)}
.portrait .frame{aspect-ratio:4/5;border-radius:8px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.35);background:linear-gradient(160deg,#1d3a58,#0e2438);display:flex;align-items:center;justify-content:center}
.portrait .frame img{width:100%;height:100%;object-fit:cover}
.portrait::before{content:'';position:absolute;inset:auto -18px -18px auto;width:70%;height:70%;border:2px solid var(--gold);border-radius:8px;z-index:-1}
.ph{color:#6f8db0;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;text-align:center;padding:20px}

.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;z-index:2;
  background:linear-gradient(90deg,#9db3c9 0%,var(--gold2) 55%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;font-weight:600}

@keyframes floaty{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}
  .scroll-hint{animation:floaty 2.2s ease-in-out infinite}
  
@media(max-width:880px){.hero{grid-template-columns:1fr;text-align:center;padding-top:120px}
 .hero p.sub{margin:0 auto}.cta{justify-content:center}.portrait{order:-1;width:min(240px,70vw)}}

/* STATS */
.stats{background:var(--white);border-block:1px solid var(--line)}
.stats-intro{text-align:center;padding-top:48px}
.stats-intro .kicker{margin-bottom:8px}
.stats-intro h2{font-size:clamp(1.55rem,3vw,2.25rem);color:var(--navy);line-height:1.2}
.stats-intro p{max-width:760px;margin:12px auto 0;color:var(--muted);font-size:.9rem}
.stats-intro .stats-signature{max-width:820px;margin-top:16px;font-size:.72rem;font-weight:700;line-height:1.75;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(100deg,#b88924 0%,#d8b65c 30%,#4f8fc7 68%,#173f68 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#9b7626}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:30px 0 22px}
.stat{text-align:center;padding:20px 12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(160deg,#fff 0%,#f7f9fc 100%);box-shadow:0 10px 26px rgba(14,36,56,.06)}
.stat b{display:block;font-family:'Playfair Display',serif;font-size:clamp(1.6rem,3vw,2.3rem);color:var(--navy)}
.stat b em{font-style:normal;color:var(--gold)}
.stat span{font-size:.74rem;color:#6d7a88;font-weight:500;letter-spacing:.04em}
.stats-cta{text-align:center;padding-bottom:46px}
.stats-more{display:inline-flex;align-items:center;gap:10px}
.stats-more span{font-size:1.1rem;transition:transform .25s}
.stats-more:hover span{transform:translateX(4px)}
@media(max-width:880px){.stats .grid{grid-template-columns:repeat(2,1fr)}.stats-intro{padding-top:38px}}
@media(max-width:520px){.stats .grid{gap:10px}.stat{padding:17px 8px}.stat span{font-size:.68rem}.stats-intro p{font-size:.82rem}.stats-intro .stats-signature{font-size:.64rem;line-height:1.7;letter-spacing:.1em;padding-inline:8px}}

/* ABOUT */
.about{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.about .imgbox{border-radius:8px;overflow:hidden;box-shadow:0 24px 50px rgba(14,36,56,.18);aspect-ratio:4/3;background:#dfe7f0;display:flex;align-items:center;justify-content:center}
.about .imgbox img{width:100%;height:100%;object-fit:cover}
.quote{margin-top:22px;padding:20px 24px;background:var(--navy);color:#e8eef5;border-left:4px solid var(--gold);border-radius:0 8px 8px 0;font-family:'Playfair Display',serif;font-style:italic;font-size:1.02rem}
@media(max-width:880px){.about{grid-template-columns:1fr}}

/* TIMELINE */
#parcours{background:var(--white)}
.timeline{position:relative;margin-top:46px}
.timeline::before{content:'';position:absolute;left:18px;top:0;bottom:0;width:2px;background:linear-gradient(var(--gold),var(--blue))}
.titem{position:relative;padding:0 0 38px 62px}
.titem::before{content:'';position:absolute;left:10px;top:6px;width:18px;height:18px;border-radius:50%;background:var(--white);border:4px solid var(--gold)}
.titem .when{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--gold);text-transform:uppercase}
.titem h3{color:var(--navy);font-size:1.15rem;margin:4px 0 2px}
.titem .org{color:var(--blue);font-weight:600;font-size:.88rem;margin-bottom:8px}
.titem p{color:var(--muted);font-size:.92rem;max-width:820px}
.badge{display:inline-block;background:#eef3f9;color:var(--navy2);border:1px solid var(--line);font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:20px;margin:8px 6px 0 0}

/* SOUVERAINETE CARDS */
#souverainete{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);color:#fff}
#souverainete .h2{color:#fff}
#souverainete .lead{color:#b9c8d8}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:20px;margin-top:44px}
.card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:26px 24px;transition:transform .3s,border-color .3s}
.card:hover{transform:translateY(-6px);border-color:var(--gold)}
.card .flag{font-size:.72rem;font-weight:700;letter-spacing:.18em;color:var(--gold2);text-transform:uppercase}
.card h3{font-size:1.08rem;margin:8px 0 8px;color:#fff}
.card p{font-size:.86rem;color:#b9c8d8}

/* EXPERTISES */
.exp{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.expcol{background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.expcol h3{background:var(--navy2);color:#fff;padding:16px 24px;font-size:1rem;letter-spacing:.04em}
.expcol ul{list-style:none;padding:18px 24px}
.expcol li{padding:9px 0 9px 26px;position:relative;font-size:.92rem;color:var(--ink);border-bottom:1px dashed var(--line)}
.expcol li:last-child{border-bottom:0}
.expcol li::before{content:'▸';position:absolute;left:2px;color:var(--gold);font-weight:700}
@media(max-width:880px){.exp{grid-template-columns:1fr}}

/* ACADEMIE */
#academie{background:linear-gradient(160deg,#f2f5fa 0%,var(--bg) 100%)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.fbtn{background:var(--white);border:1px solid var(--line);color:var(--navy2);padding:9px 20px;border-radius:30px;font-family:'Inter',sans-serif;font-size:.82rem;font-weight:600;cursor:pointer;transition:.25s}
.fbtn:hover{border-color:var(--gold)}
.fbtn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:18px;margin-top:34px}
.acard{position:relative;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:22px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(201,162,75,.18);transition:transform .3s,box-shadow .3s,border-color .3s,opacity .2s}
.acard:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(14,36,56,.16);border-color:var(--gold)}
.acard:focus-visible{outline:3px solid rgba(201,162,75,.32);outline-offset:3px;border-color:var(--gold)}
.acard:active{transform:scale(.985);border-color:var(--gold)}
.acard.is-loading{opacity:.72;cursor:progress}
.acard .top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.mono{width:44px;height:44px;flex:none;border-radius:10px;background:linear-gradient(150deg,var(--navy),var(--blue));color:var(--gold2);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:700;font-size:.8rem;letter-spacing:.02em}
.ayear{margin-left:auto;background:#eef3f9;border:1px solid var(--line);color:var(--navy2);font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}
.acard h3{font-family:'Inter',sans-serif;font-size:.92rem;font-weight:600;color:var(--navy);line-height:1.4}
.acard .issuer{font-size:.76rem;color:var(--muted);margin-top:5px}
.acard .hint{font-size:.68rem;color:var(--gold);margin-top:10px;font-weight:600;letter-spacing:.04em}
.acard.hidden{display:none}
/* Aperçu attestation au survol */
.apreview{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(8px);width:280px;background:var(--white);border:1px solid var(--gold);border-radius:10px;box-shadow:0 24px 60px rgba(14,36,56,.35);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:20;overflow:hidden}
.acard:hover .apreview{opacity:1;transform:translateX(-50%) translateY(0)}
.apreview .pimg{aspect-ratio:4/3;background:#eef2f7;display:flex;align-items:center;justify-content:center}
.apreview .pimg img{width:100%;height:100%;object-fit:cover}
.apreview .pcap{padding:8px 12px;font-size:.68rem;color:var(--muted);background:var(--white);border-top:1px solid var(--line);text-align:center}
.apreview::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:8px solid transparent;border-top-color:var(--gold)}
@media(hover:none){.apreview{display:none}}

/* AZOU */
#azou{background:var(--white)}
.azou{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.azou .art{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--blue),var(--navy));max-width:340px;margin:0 auto;display:flex;align-items:center;justify-content:center;box-shadow:0 26px 60px rgba(14,36,56,.3);position:relative;overflow:hidden}
.azou .art::before{content:'';position:absolute;inset:14px;border:1px dashed rgba(201,162,75,.6);border-radius:50%;animation:spin 24s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.azou .art b{font-family:'Playfair Display',serif;color:var(--gold2);font-size:2.4rem;letter-spacing:.1em}
@media(max-width:880px){.azou{grid-template-columns:1fr}}

/* AZOU immersive experience v1 */
.azou-experience-page{background:#071725}.azou-x{color:#eaf1f7;overflow:hidden;background:#071725}.azou-x__hero{min-height:calc(100vh - 76px);display:flex;align-items:center;position:relative;padding:clamp(74px,9vw,130px) 0 70px;background:radial-gradient(circle at 77% 42%,rgba(31,139,186,.2),transparent 32%),linear-gradient(145deg,#081925 0%,#0d2940 56%,#071725 100%)}.azou-x__aurora{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(201,162,75,.08) 50%,transparent 62%);animation:azouXAurora 9s ease-in-out infinite}.azou-x__hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);align-items:center;gap:clamp(35px,7vw,100px);position:relative}.azou-x__eyebrow{display:inline-flex;align-items:center;gap:9px;color:#dcebf6;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700}.azou-x__eyebrow i{width:8px;height:8px;border-radius:50%;background:#69d8b4;box-shadow:0 0 0 6px rgba(105,216,180,.1),0 0 18px #69d8b4}.azou-x h1{font-family:'Playfair Display',serif;font-size:clamp(3.3rem,6.3vw,6.8rem);line-height:.94;letter-spacing:-.045em;margin:22px 0 26px;color:#fff}.azou-x h1 span{color:#dfbd6c;text-shadow:0 12px 34px rgba(201,162,75,.18)}.azou-x__intro>p{max-width:720px;color:#bfcfdd;font-size:clamp(1rem,1.45vw,1.24rem);line-height:1.75}.azou-x__actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}.azou-x__primary,.azou-x__secondary{min-height:52px;border-radius:999px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.86rem;cursor:pointer;text-decoration:none;transition:.25s ease}.azou-x__primary{border:1px solid rgba(255,255,255,.2);color:#071725;background:linear-gradient(120deg,#e8cb86,#67c9e8);box-shadow:0 13px 36px rgba(61,151,190,.22)}.azou-x__secondary{border:1px solid rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.04)}.azou-x__primary:hover,.azou-x__secondary:hover{transform:translateY(-2px);filter:brightness(1.05)}.azou-x__trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;color:#91a8b9;font-size:.7rem}.azou-x__trust span{display:flex;align-items:center;gap:7px}.azou-x__trust b{width:5px;height:5px;border-radius:50%;background:#67c9e8}.azou-x__presence{aspect-ratio:1;position:relative;display:grid;place-items:center;isolation:isolate}.azou-x__rings,.azou-x__rings:before,.azou-x__rings:after{position:absolute;border-radius:50%;border:1px solid rgba(112,205,235,.24);content:''}.azou-x__rings{inset:8%;animation:azouXSpin 26s linear infinite}.azou-x__rings:before{inset:11%;border-style:dashed;border-color:rgba(223,189,108,.38)}.azou-x__rings:after{inset:25%;box-shadow:0 0 90px rgba(72,171,208,.23)}.azou-x__character{width:58%;aspect-ratio:1;border-radius:48% 52% 49% 51%;display:grid;place-items:center;align-content:center;gap:8px;background:radial-gradient(circle at 35% 28%,#2e80a9,#102e46 62%,#071521);box-shadow:0 35px 80px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.11);z-index:1}.azou-x__monogram{font:800 clamp(4rem,9vw,7.5rem)/1 'Playfair Display',serif;color:#e7c675}.azou-x__character small{color:#c2d6e4;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.azou-x__wave{position:absolute;bottom:8%;z-index:2;height:50px;display:flex;align-items:center;gap:5px}.azou-x__wave i{display:block;width:3px;border-radius:4px;height:12px;background:linear-gradient(#dfbd6c,#68cce9);animation:azouXWave 1.25s ease-in-out infinite}.azou-x__wave i:nth-child(2),.azou-x__wave i:nth-child(6){animation-delay:.13s}.azou-x__wave i:nth-child(3),.azou-x__wave i:nth-child(5){animation-delay:.26s}.azou-x__wave i:nth-child(4){animation-delay:.39s}.azou-x__statement{padding:72px 0;background:#f4f7f9;color:#10283a}.azou-x__statement p{font:600 clamp(1.55rem,3.1vw,2.8rem)/1.34 'Playfair Display',serif;max-width:1050px;margin:auto;text-align:center}.azou-x__statement strong{color:#1d769e}.azou-x__capabilities{padding:100px 0;background:#fff;color:#10283a}.azou-x__section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end;margin-bottom:42px}.azou-x__section-head h2,.azou-x__demo h2{font:700 clamp(2rem,4vw,3.7rem)/1.08 'Playfair Display',serif;margin-top:9px}.azou-x__section-head p{color:#607485;line-height:1.7}.azou-x__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.azou-x__card{min-height:292px;border:1px solid #dfe7ec;border-radius:23px;padding:22px;text-align:left;background:linear-gradient(145deg,#fff,#f7fafb);display:flex;flex-direction:column;cursor:pointer;transition:.3s ease;color:#10283a}.azou-x__card:hover,.azou-x__card.is-active{transform:translateY(-6px);border-color:#7dc5df;box-shadow:0 22px 50px rgba(11,48,70,.13)}.azou-x__card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.azou-x__icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#e9f4f8;color:#176f97}.azou-x__icon svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.azou-x__badge{border-radius:999px;background:#eef3f5;color:#5a6d79;padding:6px 9px;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.azou-x__card>strong{font:700 1.28rem 'Playfair Display',serif;margin:28px 0 10px}.azou-x__card>span:not(.azou-x__card-top){color:#657987;line-height:1.55;font-size:.83rem}.azou-x__card em{margin-top:auto;padding-top:23px;color:#176f97;font-style:normal;font-weight:800;font-size:.76rem}.azou-x__card em b{font-size:1.05rem;margin-left:5px}.azou-x__demo{padding:70px 0;background:linear-gradient(135deg,#0c2538,#123d58);color:#fff}.azou-x__demo-shell{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.azou-x__demo-copy{color:#bbcedb;line-height:1.7;max-width:760px;margin-top:14px}.azou-x__demo-action{min-width:210px}.azou-x__locate{display:flex;flex-wrap:wrap;gap:10px}.azou-x__principles{padding:85px 0;background:#071725}.azou-x__principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12)}.azou-x__principles-grid>div{padding:40px;background:#071725}.azou-x__principles span{color:#dfbd6c;font-size:.7rem;letter-spacing:.15em}.azou-x__principles strong{display:block;font:700 1.45rem 'Playfair Display',serif;margin:13px 0}.azou-x__principles p{color:#91a8b9;line-height:1.65;font-size:.88rem}
@keyframes azouXAurora{50%{transform:translateX(8%);opacity:.55}}@keyframes azouXSpin{to{transform:rotate(360deg)}}@keyframes azouXWave{50%{height:44px}}
@media(max-width:1050px){.azou-x__grid{grid-template-columns:repeat(2,1fr)}.azou-x__hero-grid{grid-template-columns:1.12fr .88fr}.azou-x h1{font-size:clamp(3.2rem,7.3vw,5.7rem)}}
@media(max-width:760px){.azou-x__hero{min-height:auto;padding:72px 0 55px}.azou-x__hero-grid{grid-template-columns:1fr;text-align:center}.azou-x__intro>p{margin-inline:auto}.azou-x__actions,.azou-x__trust{justify-content:center}.azou-x__presence{max-width:390px;width:92%;margin:auto}.azou-x__section-head,.azou-x__demo-shell{grid-template-columns:1fr}.azou-x__section-head{gap:16px}.azou-x__demo-action{min-width:0}.azou-x__principles-grid{grid-template-columns:1fr}.azou-x__card{min-height:270px}.azou-x__capabilities{padding:75px 0}}
@media(max-width:520px){.azou-x h1{font-size:clamp(2.75rem,14vw,4rem)}.azou-x__grid{grid-template-columns:1fr}.azou-x__card{min-height:230px}.azou-x__trust{gap:9px 13px}.azou-x__actions>*{width:100%}.azou-x__statement{padding:55px 0}.azou-x__capabilities{padding:65px 0}.azou-x__presence{width:80%}}
@media(prefers-reduced-motion:reduce){.azou-x__aurora,.azou-x__rings,.azou-x__wave i{animation:none}}

/* V10.10 — actions guidées des huit démonstrations. */
.azou-x__demo-action{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}
.azou-x__demo-action>.azou-x__secondary{min-height:52px}
.azou-x__demo-action>.azou-x__emergency,.azou-x__demo-action>.azou-x__emergency-note{flex-basis:100%}
@media(max-width:760px){.azou-x__demo-action{justify-content:flex-start}.azou-x__demo-action>.azou-x__primary,.azou-x__demo-action>.azou-x__secondary{width:100%}}

/* AZOU official character — interactive states v10.2.0 */
.azou-x__character{width:66%;height:86%;aspect-ratio:auto;border-radius:0;position:relative;display:flex;align-items:flex-end;justify-content:center;background:none;box-shadow:none;transition:filter .35s ease,transform .35s ease}
.azou-x__character-glow{position:absolute;width:84%;aspect-ratio:1;left:8%;bottom:4%;border-radius:50%;background:radial-gradient(circle,rgba(58,174,214,.3),rgba(17,63,91,.14) 50%,transparent 72%);filter:blur(4px);transition:.35s ease}
.azou-x__character-image{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 28px 28px rgba(0,0,0,.42));transform-origin:50% 92%;animation:azouXIdle 4.8s ease-in-out infinite}
.azou-x__character small.azou-x__character-state{position:absolute;left:50%;bottom:-1.2rem;transform:translateX(-50%);white-space:nowrap;padding:7px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#d7e8f2;background:rgba(6,23,36,.78);backdrop-filter:blur(9px);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.azou-x__character[data-state="listening"] .azou-x__character-image{animation:azouXListen 1.15s ease-in-out infinite}
.azou-x__character[data-state="listening"] .azou-x__character-glow{background:radial-gradient(circle,rgba(104,204,233,.54),rgba(17,63,91,.13) 55%,transparent 74%);animation:azouXGlow 1.15s ease-in-out infinite}
.azou-x__character[data-state="thinking"] .azou-x__character-image{animation:azouXThink 1.7s ease-in-out infinite}
.azou-x__character[data-state="thinking"] .azou-x__character-glow{background:radial-gradient(circle,rgba(223,189,108,.5),rgba(17,63,91,.12) 56%,transparent 74%);animation:azouXGlow 1.7s ease-in-out infinite}
.azou-x__character[data-state="speaking"] .azou-x__character-image{animation:azouXSpeak .72s ease-in-out infinite}
.azou-x__character[data-state="speaking"] .azou-x__character-glow{animation:azouXGlow .72s ease-in-out infinite}
@keyframes azouXIdle{50%{transform:translateY(-5px) scale(1.008)}}
@keyframes azouXListen{50%{transform:translateY(-6px) scale(1.018)}}
@keyframes azouXThink{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-6px) rotate(.7deg)}}
@keyframes azouXSpeak{50%{transform:translateY(-3px) scale(1.012)}}
@keyframes azouXGlow{50%{transform:scale(1.09);opacity:.68}}
@media(max-width:760px){.azou-x__character{width:62%;height:90%}.azou-x__character small.azou-x__character-state{bottom:-.65rem}}
@media(prefers-reduced-motion:reduce){.azou-x__character-image,.azou-x__character-glow{animation:none!important}}

/* MINI GALERIES (sections Terre & Engagements) */
.minigal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:34px}
.minigal figure{border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:#dfe7f0;cursor:pointer;position:relative}
.minigal img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.minigal figure:hover img{transform:scale(1.06)}
.minigal .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.68rem}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.split .imgbox{border-radius:8px;overflow:hidden;box-shadow:0 24px 50px rgba(14,36,56,.18);aspect-ratio:4/3;background:#dfe7f0;display:flex;align-items:center;justify-content:center}
.split .imgbox img{width:100%;height:100%;object-fit:cover}
@media(max-width:880px){.split{grid-template-columns:1fr}}
.impacts{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chip{background:#eef3f9;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;padding:10px 14px;font-size:.8rem;color:var(--navy2)}
.chip b{display:block;font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--navy)}
.ecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin-top:40px}
.ecard{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:10px;padding:26px}
.ecard .when{font-size:.72rem;font-weight:700;letter-spacing:.16em;color:var(--gold);text-transform:uppercase}
.ecard h3{color:var(--navy);font-size:1.06rem;margin:6px 0 8px}
.ecard p{font-size:.88rem;color:var(--muted)}

/* GALLERY */
#galerie{background:var(--bg)}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:44px}
.gal figure{border-radius:8px;overflow:hidden;aspect-ratio:3/4;background:#dfe7f0;cursor:pointer;position:relative}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gal figure:hover img{transform:scale(1.06)}
.gal .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.lightbox{position:fixed;inset:0;background:rgba(10,20,32,.94);display:none;align-items:center;justify-content:center;z-index:99;padding:4vw}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lightbox button{position:absolute;top:20px;right:26px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}

/* DISTINCTIONS */
.dist{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:44px}
.dcard{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;padding:24px}
.dcard h3{color:var(--navy);font-size:1rem;margin-bottom:6px}
.dcard p{font-size:.86rem;color:var(--muted)}

/* CONTACT */
#contact{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;text-align:center}
#contact .h2{color:#fff}
.contact-line{display:flex;gap:34px;justify-content:center;flex-wrap:wrap;margin-top:26px;font-size:.95rem}
.contact-line a{color:var(--gold2);font-weight:600}

/* FORMULAIRE */
.form-card{max-width:820px;margin:44px auto 0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:38px;text-align:left;backdrop-filter:blur(6px);position:relative}
.form-card::before{content:'';position:absolute;top:0;left:32px;right:32px;height:3px;background:linear-gradient(90deg,var(--gold),transparent);border-radius:3px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{position:relative}
.field.full{grid-column:1/-1}
.field input,.field textarea{width:100%;background:rgba(10,26,42,.55);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:22px 16px 10px;color:#fff;font-family:'Inter',sans-serif;font-size:.92rem;outline:none;transition:border-color .25s,box-shadow .25s}
.field textarea{min-height:130px;resize:vertical}
.field label{position:absolute;left:16px;top:16px;color:#8fa5ba;font-size:.88rem;pointer-events:none;transition:.2s}
.field input:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,75,.18)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,
.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{top:7px;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold2)}
.field .req{color:var(--gold)}
.field.error input,.field.error textarea{border-color:#e06060;box-shadow:0 0 0 3px rgba(224,96,96,.15)}
.field .msg{display:none;color:#f0a3a3;font-size:.72rem;margin-top:5px}
.field.error .msg{display:block}
.send-row{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.btn-send{
  flex:1;
  min-width:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px 24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  cursor:pointer;
  font-family:'Inter',sans-serif;
  font-weight:700;
  font-size:.92rem;
  letter-spacing:.01em;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease,border-color .25s ease;
  box-shadow:0 10px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.55);
  overflow:hidden;
}
.btn-send:hover{
  transform:translateY(-3px);
  filter:brightness(1.05);
}
.btn-send:active{transform:translateY(-1px)}
.btn-send:focus-visible{outline:3px solid rgba(227,196,126,.42);outline-offset:3px}
.btn-send svg{width:20px;height:20px;flex:none}

/* WhatsApp : dégradé Gold */
.btn-wa{
  color:var(--navy);
  background:linear-gradient(135deg,#f7e3a4 0%,var(--gold2) 28%,var(--gold) 62%,#9f7629 100%);
  border-color:rgba(255,226,150,.65);
}
.btn-wa:hover{
  box-shadow:0 15px 34px rgba(201,162,75,.42),inset 0 1px 0 rgba(255,255,255,.7);
}

/* Email : dégradé Ghost / verre premium */
.btn-mail{
  color:#fff;
  background:
    linear-gradient(135deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.08) 48%,rgba(201,162,75,.18) 100%) padding-box,
    linear-gradient(135deg,var(--gold2) 0%,rgba(255,255,255,.78) 50%,var(--gold) 100%) border-box;
  border:1.5px solid transparent;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.btn-mail:hover{
  color:var(--gold2);
  background:
    linear-gradient(135deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.11) 50%,rgba(201,162,75,.22) 100%) padding-box,
    linear-gradient(135deg,#fff1bf 0%,var(--gold2) 48%,var(--gold) 100%) border-box;
  box-shadow:0 15px 34px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.35);
}
.form-note{margin-top:16px;font-size:.76rem;color:#8fa5ba;text-align:center}
.form-ok{display:none;margin-top:18px;padding:13px 18px;border-radius:8px;background:rgba(34,181,88,.15);border:1px solid rgba(34,181,88,.4);color:#9fe8bd;font-size:.86rem;text-align:center}
.form-ok.show{display:block;animation:pop .4s ease}
@keyframes pop{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@media(max-width:680px){.fgrid{grid-template-columns:1fr}.form-card{padding:26px 20px}}
footer{background:#0a1a2a;color:#7e93a8;text-align:center;padding:22px 0;font-size:.78rem}

.qr-row{display:flex;justify-content:space-between;max-width:820px;margin:44px auto 0;flex-wrap:wrap;gap:48px}
.qr-card{display:flex;flex-direction:column;align-items:center;gap:12px}
.qr-frame{background:#fff;padding:12px;border-radius:14px;border:2px solid transparent;
  background:linear-gradient(#fff,#fff) padding-box,
  linear-gradient(135deg,#a97f2e,var(--gold),var(--gold2),var(--gold),#a97f2e) border-box;
  box-shadow:0 14px 34px rgba(0,0,0,.28);transition:transform .3s}
.qr-frame:hover{transform:scale(1.04)}
.qr-frame img{width:150px;height:150px;display:block}
.qr-cap{margin-top:2px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center;line-height:1.7;
  background:linear-gradient(100deg,var(--gold2) 0%,var(--gold) 45%,#7fa8d4 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
@media(max-width:680px){.qr-row{gap:48px}}


/* ===== PRODUCTION ENTERPRISE : accessibilité et compatibilité ===== */
:focus-visible{
  outline:3px solid var(--gold2);
  outline-offset:3px;
}
button,input,textarea,a{-webkit-tap-highlight-color:rgba(201,162,75,.25)}
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
nav{padding-top:env(safe-area-inset-top)}
.lightbox[aria-hidden="true"]{visibility:hidden}
.lightbox.open[aria-hidden="false"]{visibility:visible}


.contact-line span{display:inline-flex;align-items:center;gap:9px}
.cicon{width:19px;height:19px;flex:none;fill:none;stroke:var(--gold2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.contact-line span:hover .cicon{stroke:var(--gold)}
/* Texte en dégradé — sens or → ghost */
.txt-gold{background:linear-gradient(90deg,#a97f2e 0%,var(--gold) 35%,var(--gold2) 70%,#f2f6fb 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:600}
/* Texte en dégradé inverse — ghost → or */
.txt-ghost{background:linear-gradient(90deg,#f2f6fb 0%,var(--gold2) 55%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:600}
.txt-gold:hover,.txt-ghost:hover{filter:brightness(1.18)}


@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .reveal{opacity:1;transform:none}
}


@media print{
  nav,.scroll-hint,.cta,.filters,.send-row,.lightbox{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  header{min-height:auto;background:#fff;color:#000}
  header::after{display:none}
  section{padding:24px 0;break-inside:avoid}
  .reveal{opacity:1!important;transform:none!important}
  a{text-decoration:underline}
}


/* ===== ARCHITECTURE MULTIPAGE ===== */
.skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:#fff;color:var(--navy);padding:10px 16px;border-radius:6px}
.skip-link:focus{top:16px}
.links a.active{color:var(--gold2);font-weight:700}
.inner-page{padding-top:0}
.page-hero{min-height:420px;padding:125px 0 72px;display:block}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.08;max-width:900px}
.page-hero p{color:#c8d4e2;max-width:760px;margin-top:18px;font-size:1rem}
.breadcrumb{position:static;background:none;backdrop-filter:none;padding:0;margin-bottom:34px}
.breadcrumb ol{display:flex;align-items:center;flex-wrap:wrap;gap:10px;list-style:none}
.breadcrumb li{font-size:.78rem;color:#c8d4e2}
.breadcrumb li+li::before{content:"›";margin-right:10px;color:var(--gold2)}
.breadcrumb a{color:var(--gold2)}
.breadcrumb a:hover{text-decoration:underline}
.inner-page main > section:first-child{padding-top:78px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr auto;gap:30px;align-items:center;text-align:left}
.footer-grid p{margin-top:6px}
.footer-links{display:flex;flex-wrap:wrap;gap:14px}
.footer-links a:hover{color:var(--gold2)}
@media(max-width:880px){
  .page-hero{min-height:380px;padding-top:112px}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-links{justify-content:center}
}


/* Correction Académie V3 */
.acard:focus-visible{border-color:var(--gold);box-shadow:0 18px 40px rgba(14,36,56,.16)}
.academie-missing{position:static!important;padding:16px!important;text-align:center;color:#8fa5ba!important;font-size:.66rem!important;overflow-wrap:anywhere}


/* Correction V4 : images relatives Terre / Engagements */
.minigal figure img,
.split .imgbox img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}


/* ===== BOUTON FLOTTANT : RETOUR EN HAUT ===== */
.back-to-top{
  --scroll-progress:0deg;
  position:fixed;
  right:max(22px,env(safe-area-inset-right));
  bottom:max(24px,env(safe-area-inset-bottom));
  z-index:90;
  width:62px;
  height:62px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(18px) scale(.82);
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease,filter .25s ease;
  filter:drop-shadow(0 16px 24px rgba(14,36,56,.35));
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.back-to-top:hover{
  transform:translateY(-4px) scale(1.06);
  filter:drop-shadow(0 20px 30px rgba(14,36,56,.44));
}
.back-to-top:active{transform:translateY(-1px) scale(.98)}
.back-to-top:focus-visible{outline:3px solid rgba(227,196,126,.7);outline-offset:5px}
.back-to-top__progress{
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:conic-gradient(
    from 0deg,
    var(--gold2) 0deg,
    var(--gold) var(--scroll-progress),
    rgba(14,36,56,.22) var(--scroll-progress),
    rgba(14,36,56,.22) 360deg
  );
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.75),
    0 1px 0 rgba(255,255,255,.35);
}
.back-to-top__progress::after{
  content:'';
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:linear-gradient(145deg,#173b5f 0%,var(--navy) 58%,#081828 100%);
  box-shadow:
    inset 5px 5px 10px rgba(255,255,255,.08),
    inset -7px -8px 14px rgba(0,0,0,.35);
}
.back-to-top__core{
  position:absolute;
  inset:8px;
  z-index:1;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 22%,rgba(255,255,255,.24),transparent 35%),
    linear-gradient(145deg,var(--gold2) 0%,var(--gold) 42%,var(--blue) 100%);
  box-shadow:
    inset 3px 3px 7px rgba(255,255,255,.42),
    inset -5px -6px 10px rgba(14,36,56,.42),
    0 7px 12px rgba(0,0,0,.22);
}
.back-to-top__core svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:#fff;
  stroke-width:2.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 2px 2px rgba(14,36,56,.5));
  transition:transform .25s ease;
}
.back-to-top:hover .back-to-top__core svg{transform:translateY(-2px)}
@media(max-width:680px){
  .back-to-top{
    width:56px;
    height:56px;
    right:max(16px,env(safe-area-inset-right));
    bottom:max(18px,env(safe-area-inset-bottom));
  }
}
@media(prefers-reduced-motion:reduce){
  .back-to-top{transition:none}
  .back-to-top:hover{transform:none}
}

/* Publications — aperçu de la page d'accueil */
#publications-apercu{background:linear-gradient(145deg,#f6f3eb,#eef6fb)}
#publications-apercu .card{text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
#publications-apercu .card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(14,36,56,.14)}
#publications-apercu .card h3{
  display:block;
  margin-top:14px;
  background:linear-gradient(105deg,#bd9131 0%,#d8b85e 38%,#73bce9 72%,#2878ad 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:#9a7523;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
#publications-apercu .card strong{display:inline-block;margin-top:15px;color:#2f749f}
@media print{.back-to-top{display:none!important}}


/* ===== ASSISTANT FLOTTANT AZOU ===== */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.azou-assistant{
  position:fixed;
  right:max(96px,calc(env(safe-area-inset-right) + 96px));
  bottom:max(24px,env(safe-area-inset-bottom));
  z-index:91;
}
.azou-context{
  position:absolute;right:0;bottom:74px;width:min(390px,calc(100vw - 32px));
  padding:18px;border:1px solid rgba(201,162,75,.48);border-radius:24px;
  color:#10283a;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,247,252,.97));
  box-shadow:0 24px 70px rgba(5,18,31,.28);backdrop-filter:blur(18px);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.96);
  transform-origin:bottom right;transition:.3s cubic-bezier(.2,.8,.2,1);
}
.azou-context.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.azou-context::before{content:"";position:absolute;inset:0 0 auto;height:4px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,var(--gold),var(--gold2),#7fd3ed,var(--blue))}
.azou-context__close{position:absolute;right:11px;top:10px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(14,36,56,.07);color:#536777;font-size:1.25rem;cursor:pointer}
.azou-context__head{display:flex;align-items:center;gap:11px;padding-right:30px}
.azou-context__avatar{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;font:800 1.25rem 'Playfair Display',serif;color:#082237;background:linear-gradient(145deg,#f5df9c,#c28c26 48%,#67c9e8);box-shadow:0 0 0 4px rgba(201,162,75,.1)}
.azou-context__head small{display:block;color:#2d789e;font-size:.61rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}
.azou-context__head strong{display:block;font:700 1.08rem/1.2 'Playfair Display',serif;color:var(--navy)}
.azou-context>p{margin:13px 0 12px;color:#5d7180;font-size:.8rem;line-height:1.52}
.azou-context__questions{display:grid;gap:7px}
.azou-context__questions button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:40px;padding:9px 12px;border:1px solid #dfe8ed;border-radius:13px;background:#fff;color:#17364d;text-align:left;font:700 .75rem/1.3 Inter,sans-serif;cursor:pointer;transition:.2s ease}
.azou-context__questions button:hover{transform:translateX(3px);border-color:var(--gold);box-shadow:0 7px 18px rgba(14,36,56,.08)}
.azou-context__questions span{color:#3385aa;font-size:1rem}
.azou-context__open{width:100%;margin-top:10px;padding:8px;border:0;background:transparent;color:#2c789e;font-size:.7rem;font-weight:800;cursor:pointer}
.azou-launcher{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:8px 18px 8px 8px;
  border:1px solid transparent;
  border-radius:999px;
  color:var(--navy);
  cursor:pointer;
  background:
    linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.68)) padding-box,
    linear-gradient(120deg,#a97f2e,var(--gold),var(--gold2),#a7d6ff,var(--blue),var(--gold)) border-box;
  background-size:100% 100%,300% 100%;
  animation:azouGoldFlow 7s linear infinite,azouFloat 3.4s ease-in-out infinite;
  box-shadow:
    0 14px 30px rgba(14,36,56,.24),
    inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.azou-launcher:hover{
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 20px 38px rgba(14,36,56,.34),inset 0 1px 0 rgba(255,255,255,.95);
  filter:brightness(1.03);
}
.azou-launcher:focus-visible{outline:3px solid rgba(227,196,126,.62);outline-offset:4px}
.azou-launcher__icon{
  width:40px;
  height:40px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:
    radial-gradient(circle at 32% 24%,rgba(255,255,255,.34),transparent 35%),
    linear-gradient(145deg,var(--gold2),var(--gold) 45%,var(--blue));
  box-shadow:
    inset 3px 3px 7px rgba(255,255,255,.35),
    inset -5px -6px 10px rgba(14,36,56,.33),
    0 7px 14px rgba(14,36,56,.25);
}
.azou-launcher__icon svg,
.azou-mic svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.azou-launcher__label{
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.01em;
  background:linear-gradient(100deg,#a97f2e 0%,var(--gold) 32%,var(--gold2) 56%,#7fbff2 80%,var(--blue) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  white-space:nowrap;
}
.azou-launcher__label strong{font-family:'Playfair Display',serif;letter-spacing:.08em}

.azou-panel{
  position:absolute;
  right:0;
  bottom:74px;
  width:min(410px,calc(100vw - 32px));
  height:min(650px,calc(100vh - 115px));
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto auto;
  overflow:hidden;
  border:1px solid rgba(201,162,75,.45);
  border-radius:24px;
  background:linear-gradient(180deg,#fdfefe 0%,#f7f9fc 100%);
  box-shadow:0 28px 80px rgba(5,18,31,.34),0 6px 18px rgba(14,36,56,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(24px) scale(.92);
  transform-origin:bottom right;
  transition:opacity .28s ease,visibility .28s ease,transform .32s cubic-bezier(.2,.8,.2,1);
}
.azou-assistant.is-open .azou-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.azou-assistant.is-open .azou-launcher{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.azou-panel__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:17px 17px 15px;
  color:#fff;
  background:
    radial-gradient(circle at 15% 0%,rgba(227,196,126,.22),transparent 32%),
    linear-gradient(135deg,var(--navy),var(--navy2) 62%,var(--blue));
  border-bottom:1px solid rgba(255,255,255,.1);
}
.azou-brand{display:flex;align-items:center;gap:11px;min-width:0}
.azou-brand__orb,
.azou-avatar{
  width:38px;
  height:38px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-family:'Playfair Display',serif;
  font-weight:800;
  color:var(--navy);
  background:
    radial-gradient(circle at 30% 25%,#fff8d7,transparent 34%),
    linear-gradient(145deg,var(--gold2),var(--gold) 58%,#8ebfe8);
  box-shadow:inset 2px 2px 5px rgba(255,255,255,.55),0 5px 12px rgba(0,0,0,.22);
}
.azou-brand strong{display:block;color:var(--gold2);font-family:'Playfair Display',serif;letter-spacing:.12em}
.azou-brand span{display:block;color:#c9d5e1;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.azou-panel__actions{display:flex;gap:6px}
.azou-icon-btn{
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:1.15rem;
  cursor:pointer;
  transition:.2s;
}
.azou-icon-btn:hover{background:rgba(255,255,255,.15);color:var(--gold2)}
.azou-status{
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px 17px;
  color:#607080;
  background:#fff;
  border-bottom:1px solid var(--line);
  font-size:.67rem;
}
.azou-status__dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#28b463;
  box-shadow:0 0 0 4px rgba(40,180,99,.12);
}

.azou-messages{
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:18px 16px 12px;
  scroll-behavior:smooth;
}
.azou-message{
  display:flex;
  align-items:flex-end;
  gap:9px;
  margin-bottom:14px;
  opacity:1;
  transform:none;
  transition:opacity .25s ease,transform .25s ease;
}
.azou-message--entering{opacity:0;transform:translateY(8px)}
.azou-message--user{justify-content:flex-end}
.azou-avatar{width:30px;height:30px;font-size:.78rem}
.azou-bubble{
  max-width:82%;
  padding:12px 14px;
  border-radius:18px 18px 18px 5px;
  color:#33414f;
  background:#fff;
  border:1px solid #e4eaf1;
  box-shadow:0 7px 18px rgba(14,36,56,.08);
  font-size:.82rem;
  line-height:1.55;
}
.azou-message--user .azou-bubble{
  color:#fff;
  border:0;
  border-radius:18px 18px 5px 18px;
  background:linear-gradient(135deg,var(--blue),var(--navy2));
}
.azou-bubble p+p{margin-top:8px}
.azou-bubble ul{padding-left:18px;margin:8px 0}
.azou-bubble li+li{margin-top:4px}
.azou-message--bot .azou-bubble strong,
.azou-emphasis--gold{color:var(--gold2);font-weight:800}
.azou-emphasis--gradient{
  color:var(--gold2);font-weight:850;
  background:linear-gradient(92deg,var(--gold2) 0%,#d6aa48 42%,#2f8fbb 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent
}
.azou-response-title{font-family:'Playfair Display',serif;font-weight:800;color:var(--navy);font-size:.96rem;line-height:1.35}
.azou-small{font-size:.68rem;color:#748292}
.azou-small code{overflow-wrap:anywhere}
.azou-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.azou-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  color:var(--navy);
  font-size:.7rem;
  font-weight:700;
  background:linear-gradient(135deg,#f8e8b2,var(--gold2) 48%,#9bc8ed);
  box-shadow:0 6px 14px rgba(14,36,56,.12);
}
.azou-actions a:hover{filter:brightness(1.04);transform:translateY(-1px)}
.azou-actions .azou-download{color:#fff;background:linear-gradient(135deg,var(--gold),var(--blue))}

.azou-thinking-row{align-items:center}
.azou-avatar--thinking{animation:azouOrbThink 1.45s ease-in-out infinite}
.azou-thinking{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:145px;
}
.azou-thinking span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(145deg,var(--gold2),var(--blue));
  animation:azouThinkDot 1.2s ease-in-out infinite;
}
.azou-thinking span:nth-child(2){animation-delay:.16s}
.azou-thinking span:nth-child(3){animation-delay:.32s}
.azou-thinking em{
  margin-left:4px;
  color:#718090;
  font-size:.67rem;
  font-style:normal;
  animation:azouThinkText 1.8s ease-in-out infinite;
}

.azou-suggestions{
  display:flex;
  gap:7px;
  padding:8px 14px 10px;
  overflow-x:auto;
  scrollbar-width:none;
  background:#f7f9fc;
}
.azou-suggestions::-webkit-scrollbar{display:none}
.azou-suggestions button{
  flex:none;
  padding:8px 11px;
  border:1px solid #dbe4ed;
  border-radius:999px;
  background:#fff;
  color:var(--navy2);
  font-family:'Inter',sans-serif;
  font-size:.67rem;
  font-weight:650;
  cursor:pointer;
  transition:.2s;
}
.azou-suggestions button:hover{border-color:var(--gold);color:var(--navy);transform:translateY(-1px)}
.azou-suggestions.is-condensed{padding-top:5px}

.azou-compose{
  padding:10px 13px 12px;
  background:#fff;
  border-top:1px solid var(--line);
}
.azou-input-shell{
  display:flex;
  align-items:flex-end;
  gap:7px;
  padding:6px 7px 6px 14px;
  border:1px solid #d9e1ea;
  border-radius:22px;
  background:#f8fafc;
  box-shadow:inset 0 1px 2px rgba(14,36,56,.04);
  transition:border-color .2s,box-shadow .2s;
}
.azou-input-shell:focus-within{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,162,75,.14);
}
.azou-input-shell textarea{
  flex:1;
  min-width:0;
  max-height:110px;
  resize:none;
  border:0;
  outline:0;
  padding:8px 0 6px;
  color:var(--ink);
  background:transparent;
  font-family:'Inter',sans-serif;
  font-size:.79rem;
  line-height:1.4;
}
.azou-mic,.azou-send{
  width:37px;
  height:37px;
  flex:none;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  cursor:pointer;
  transition:transform .2s,filter .2s,box-shadow .2s;
}
.azou-mic{
  color:var(--navy);
  background:linear-gradient(145deg,#fff,#edf2f7);
  box-shadow:inset 1px 1px 2px #fff,0 4px 10px rgba(14,36,56,.12);
}
.azou-mic:hover,.azou-send:hover{transform:translateY(-2px)}
.azou-mic.is-listening{
  color:#fff;
  background:linear-gradient(145deg,var(--gold2),var(--gold),var(--blue));
  animation:azouMicPulse 1.15s ease-in-out infinite;
}
.azou-mic.is-disabled{opacity:.42;cursor:not-allowed}
.azou-send{
  color:#fff;
  background:linear-gradient(145deg,var(--gold2),var(--gold) 45%,var(--blue));
  box-shadow:inset 2px 2px 4px rgba(255,255,255,.35),0 5px 12px rgba(14,36,56,.2);
}
.azou-send svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.azou-compose__note{margin-top:5px;text-align:center;color:#8995a2;font-size:.59rem}

@keyframes azouGoldFlow{to{background-position:0 0,300% 0}}
@keyframes azouFloat{0%,100%{translate:0 0}50%{translate:0 -3px}}
@keyframes azouThinkDot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}
@keyframes azouThinkText{0%,100%{opacity:.48}50%{opacity:1}}
@keyframes azouOrbThink{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.08);filter:brightness(1.12)}}
@keyframes azouMicPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(201,162,75,.38),0 5px 12px rgba(14,36,56,.2)}
  50%{box-shadow:0 0 0 8px rgba(201,162,75,0),0 8px 16px rgba(14,36,56,.28)}
}

@media(max-width:680px){
  .azou-assistant{
    right:max(82px,calc(env(safe-area-inset-right) + 82px));
    bottom:max(18px,env(safe-area-inset-bottom));
  }
  .azou-launcher{width:56px;height:56px;min-height:56px;padding:8px;border-radius:50%}
  .azou-launcher__icon{width:40px;height:40px}
  .azou-launcher__label{display:none}
  .azou-panel{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    width:auto;
    height:min(690px,calc(100svh - 20px));
    border-radius:22px;
    transform-origin:bottom center;
  }
  .azou-context{position:fixed;left:10px;right:10px;bottom:84px;width:auto;padding:16px;border-radius:21px;transform-origin:bottom center}
  .azou-context__head strong{font-size:1rem}.azou-context>p{font-size:.76rem}.azou-context__questions button{min-height:38px}
}
@media(prefers-reduced-motion:reduce){
  .azou-launcher,
  .azou-avatar--thinking,
  .azou-thinking span,
  .azou-thinking em,
  .azou-mic.is-listening{animation:none!important}
  .azou-panel,.azou-message{transition:none!important}
  .azou-context{transition:none!important}
}
@media print{
  .azou-assistant{display:none!important}
}


/* ===== ACCÈS FLOTTANT : ASSANE EN CHIFFRES ===== */
.chiffres-float{
  position:fixed;
  left:max(22px,env(safe-area-inset-left));
  bottom:max(24px,env(safe-area-inset-bottom));
  z-index:89;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:8px 18px 8px 8px;
  border:1px solid transparent;
  border-radius:999px;
  color:var(--navy);
  text-decoration:none;
  background:
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.72)) padding-box,
    linear-gradient(120deg,#a97f2e,var(--gold),var(--gold2),#a7d6ff,var(--blue),var(--gold)) border-box;
  background-size:100% 100%,300% 100%;
  animation:azouGoldFlow 7s linear infinite,chiffresFloat 3.8s ease-in-out infinite;
  box-shadow:0 14px 30px rgba(14,36,56,.24),inset 0 1px 0 rgba(255,255,255,.9);
  transition:box-shadow .25s ease,filter .25s ease;
}
.chiffres-float:hover{
  box-shadow:0 20px 38px rgba(14,36,56,.34),inset 0 1px 0 rgba(255,255,255,.95);
  filter:brightness(1.04);
}
.chiffres-float:focus-visible{outline:3px solid rgba(227,196,126,.7);outline-offset:4px}
.chiffres-float__icon{
  width:40px;
  height:40px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:
    radial-gradient(circle at 32% 24%,rgba(255,255,255,.34),transparent 35%),
    linear-gradient(145deg,var(--gold2),var(--gold) 45%,var(--blue));
  box-shadow:inset 3px 3px 7px rgba(255,255,255,.35),inset -5px -6px 10px rgba(14,36,56,.33),0 7px 14px rgba(14,36,56,.25);
}
.chiffres-float__icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.chiffres-float__label{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.035em;
  white-space:nowrap;
  text-transform:uppercase;
  background:linear-gradient(100deg,#a97f2e 0%,var(--gold) 32%,var(--gold2) 56%,#7fbff2 80%,var(--blue) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:#9a7523;
}
.chiffres-float__label strong{font-family:'Playfair Display',serif;letter-spacing:.08em}
@keyframes chiffresFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -4px}
}
@media(max-width:680px){
  .chiffres-float{
    left:max(16px,env(safe-area-inset-left));
    bottom:max(18px,env(safe-area-inset-bottom));
    width:56px;
    height:56px;
    min-height:56px;
    padding:8px;
    border-radius:50%;
  }
  .chiffres-float__label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .chiffres-float{animation:none!important}
}
@media print{
  .chiffres-float{display:none!important}
}


/* ===== CORRECTION V3 : FENÊTRE AZOU ===== */
/*
  Le bandeau AZOU ne doit jamais hériter des règles globales appliquées
  au <header> principal du site.
*/
.azou-panel__header{
  position:relative;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
  flex:none;
  z-index:4;
}
.azou-panel__header::before,
.azou-panel__header::after{
  content:none!important;
  display:none!important;
}
.azou-panel__actions{
  position:relative;
  z-index:6;
  flex:none;
}
.azou-icon-btn{
  display:grid;
  place-items:center;
  line-height:1;
}
.azou-panel{
  grid-template-rows:auto auto minmax(150px,1fr) auto auto;
}
.azou-messages{
  position:relative;
  z-index:1;
  min-height:150px;
}
.azou-suggestions{
  position:relative;
  z-index:2;
}
.azou-compose{
  position:relative;
  z-index:3;
}
@media(max-width:680px){
  .azou-panel{
    grid-template-rows:auto auto minmax(120px,1fr) auto auto;
  }
}


.azou-icon-btn--close:hover{
  color:#fff;
  background:rgba(224,96,96,.34);
  border-color:rgba(255,255,255,.3);
}


/* AZOU V4 : navigation complète des questions suggérées */
.azou-suggestions{
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:rgba(201,162,75,.65) transparent;
}
.azou-suggestions::-webkit-scrollbar{
  display:block;
  height:5px;
}
.azou-suggestions::-webkit-scrollbar-track{background:transparent}
.azou-suggestions::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold2),#8fc5ef);
}
.azou-suggestions button{
  scroll-snap-align:start;
}


/* ===== AZOU V5 : CONVERSATION, RÉFLEXION ET VOIX ===== */
.azou-voice-toggle svg,
.azou-replay svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.azou-voice-toggle.is-active{
  color:var(--gold2);
  border-color:rgba(227,196,126,.42);
  background:rgba(227,196,126,.12);
}
.azou-voice-toggle.is-disabled{
  opacity:.4;
  cursor:not-allowed;
}
.azou-assistant.is-speaking .azou-brand__orb{
  animation:azouSpeakingOrb 1s ease-in-out infinite;
}
.azou-assistant.is-speaking .azou-status__dot{
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(201,162,75,.16);
  animation:azouSpeakingDot 1s ease-in-out infinite;
}

.azou-replay{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  padding:6px 9px;
  border:1px solid #dbe4ed;
  border-radius:999px;
  color:var(--navy2);
  background:#f8fafc;
  font-family:'Inter',sans-serif;
  font-size:.64rem;
  font-weight:700;
  cursor:pointer;
  transition:transform .2s,border-color .2s,color .2s,background .2s;
}
.azou-replay:hover{
  transform:translateY(-1px);
  border-color:var(--gold);
  color:var(--navy);
  background:#fff;
}

.azou-avatar--thinking{
  position:relative;
  overflow:visible;
}
.azou-particle{
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:linear-gradient(145deg,var(--gold2),#9bc8ed);
  box-shadow:0 0 8px rgba(201,162,75,.45);
  transform-origin:15px 15px;
  pointer-events:none;
}
.azou-particle--1{
  left:12px;
  top:-4px;
  animation:azouParticleOrbit 1.8s linear infinite;
}
.azou-particle--2{
  right:-4px;
  top:12px;
  animation:azouParticleOrbit 2.2s linear infinite reverse;
}
.azou-particle--3{
  left:-4px;
  bottom:7px;
  animation:azouParticleOrbit 2.5s linear infinite;
}
.azou-thinking em{
  min-width:0;
  transition:opacity .18s ease,transform .18s ease;
}
.azou-thinking em.is-changing{
  animation:azouThinkLabel .42s ease;
}

@keyframes azouParticleOrbit{
  0%{transform:rotate(0deg) translateX(4px) scale(.8);opacity:.45}
  50%{transform:rotate(180deg) translateX(9px) scale(1.15);opacity:1}
  100%{transform:rotate(360deg) translateX(4px) scale(.8);opacity:.45}
}
@keyframes azouThinkLabel{
  0%{opacity:.3;transform:translateY(2px)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes azouSpeakingOrb{
  0%,100%{transform:scale(1);filter:brightness(1)}
  50%{transform:scale(1.08);filter:brightness(1.14)}
}
@keyframes azouSpeakingDot{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.35)}
}
@media(prefers-reduced-motion:reduce){
  .azou-particle,
  .azou-assistant.is-speaking .azou-brand__orb,
  .azou-assistant.is-speaking .azou-status__dot{animation:none!important}
}


/* ===== AZOU V6 : VOICE PREMIUM ===== */
.azou-status{
  justify-content:space-between;
  min-height:43px;
}
.azou-status__label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
#azou-voice-status{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.azou-voice-controls{
  display:flex;
  align-items:center;
  gap:5px;
  flex:none;
}
.azou-voice-controls button{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #dce4ec;
  border-radius:50%;
  color:var(--navy2);
  background:#f8fafc;
  cursor:pointer;
  transition:transform .18s,border-color .18s,color .18s;
}
.azou-voice-controls button:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:var(--gold);
  color:var(--gold);
}
.azou-voice-controls button:disabled{
  opacity:.34;
  cursor:not-allowed;
}
.azou-voice-controls svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.azou-play-shape{display:none}
#azou-audio-playpause.is-paused .azou-pause-shape{display:none}
#azou-audio-playpause.is-paused .azou-play-shape{display:block}
.azou-assistant[data-voice-mode="premium"] .azou-status__dot{
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(201,162,75,.15);
}
.azou-assistant[data-voice-mode="fallback"] .azou-status__dot{
  background:#6c8ca8;
  box-shadow:0 0 0 4px rgba(108,140,168,.13);
}
.azou-assistant[data-voice-mode="loading"] .azou-status__dot{
  background:#8fc5ef;
  animation:azouVoiceLoading .8s ease-in-out infinite alternate;
}
.azou-brand__orb{position:relative}
.azou-assistant.is-speaking .azou-brand__orb::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:3px;
  height:7px;
  border-radius:2px;
  background:var(--navy);
  transform:translateX(-50%);
  box-shadow:-6px 2px 0 -1px var(--navy),6px 2px 0 -1px var(--navy);
  animation:azouVoiceBars .58s ease-in-out infinite alternate;
}
@keyframes azouVoiceLoading{
  to{transform:scale(1.35);filter:brightness(1.12)}
}
@keyframes azouVoiceBars{
  0%{height:3px;box-shadow:-6px -2px 0 -1px var(--navy),6px 2px 0 -1px var(--navy)}
  100%{height:8px;box-shadow:-6px 2px 0 -1px var(--navy),6px -2px 0 -1px var(--navy)}
}
@media(max-width:430px){
  .azou-status{padding-inline:12px}
  #azou-voice-status{max-width:190px}
}
@media(prefers-reduced-motion:reduce){
  .azou-assistant.is-speaking .azou-brand__orb::after,
  .azou-assistant[data-voice-mode="loading"] .azou-status__dot{animation:none!important}
}


/* ===== PAGE CHIFFRES : ENVERGURE, IMPACT ET PREUVES ===== */
.chiffres-page .page-hero{background:linear-gradient(118deg,#0a1a2a 0%,var(--navy) 52%,#274f79 100%)}
.chiffres-page .page-hero::before{content:"25";position:absolute;right:6vw;bottom:-.28em;font-family:'Playfair Display',serif;font-weight:800;font-size:clamp(12rem,30vw,29rem);line-height:1;color:rgba(255,255,255,.025);pointer-events:none}
.numbers-manifesto{position:relative;overflow:hidden;background:linear-gradient(160deg,#fff 0%,#f4f7fb 100%)}
.numbers-manifesto::before{content:"";position:absolute;width:420px;height:420px;right:-180px;top:60px;border:1px solid rgba(201,162,75,.18);border-radius:50%;box-shadow:0 0 0 70px rgba(201,162,75,.035),0 0 0 140px rgba(46,90,136,.025)}
.numbers-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:end}
.numbers-intro .lead{max-width:none}
.executive-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px;position:relative}
.number-card{position:relative;min-height:300px;padding:26px 24px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.9);box-shadow:0 16px 42px rgba(14,36,56,.08);overflow:hidden}
.number-card::after{content:"";position:absolute;right:-35px;bottom:-35px;width:100px;height:100px;border:1px solid rgba(201,162,75,.25);border-radius:50%}
.number-card--signature{grid-column:span 2;background:linear-gradient(145deg,var(--navy) 0%,var(--navy2) 70%,var(--blue) 100%);border-color:transparent;color:#fff}
.number-card--wide{grid-column:span 2;background:linear-gradient(135deg,#fff8e8 0%,#fff 58%,#eef4fa 100%);border-color:rgba(201,162,75,.38)}
.number-card__eyebrow{display:block;color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin-bottom:20px}
.number-card strong{display:block;font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3.35rem);line-height:1;color:var(--navy);margin-bottom:18px}
.number-card strong em{color:var(--gold);font-style:normal}
.executive-numbers .number-card:nth-child(4) strong{font-size:clamp(1.9rem,2.15vw,2.7rem);overflow-wrap:anywhere}
.executive-numbers .number-card:nth-child(4) strong em{display:block;width:max-content;margin-bottom:.08em;font-size:1.18em}
.number-card h3{font-family:'Inter',sans-serif;color:var(--navy);font-size:.95rem;margin-bottom:8px}
.number-card p{color:var(--muted);font-size:.82rem;line-height:1.65}
.number-card--signature strong,.number-card--signature h3{color:#fff}
.number-card--signature p{color:#c3d0dd;max-width:540px}

.numbers-scale{background:#fff}
.scale-panels{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.scale-panel{position:relative;padding:30px;border-radius:16px;color:#fff;background:linear-gradient(145deg,#152f49,#0e2438);box-shadow:0 20px 50px rgba(14,36,56,.2);overflow:hidden}
.scale-panel::after{content:"";position:absolute;inset:auto -70px -100px auto;width:240px;height:240px;border:1px solid rgba(227,196,126,.22);transform:rotate(34deg)}
.scale-panel--blue{background:linear-gradient(145deg,#244f79,#16324f)}
.scale-panel__top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.14);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--gold2)}
.scale-panel__top b{color:#b9c8d8;font-size:.68rem}
.scale-panel__metrics{display:flex;gap:32px;flex-wrap:wrap;margin:28px 0}
.scale-panel__metrics div{min-width:120px}
.scale-panel__metrics strong{display:block;font-family:'Playfair Display',serif;color:#fff;font-size:2.15rem;line-height:1}
.scale-panel__metrics span{display:block;color:#b9c8d8;font-size:.7rem;margin-top:7px}
.scale-panel h3{font-family:'Inter',sans-serif;font-size:1.02rem;margin-bottom:9px}
.scale-panel p{color:#b9c8d8;font-size:.83rem;max-width:610px}

.impact-map{background:linear-gradient(160deg,#eef3f9 0%,#f8fafc 100%)}
.impact-map__head{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}
.impact-map__head .lead{font-size:.84rem}
.geography-grid{margin-top:48px;display:grid;grid-template-columns:1fr 150px 1fr;align-items:center;gap:24px}
.geo-cluster{min-height:320px;border-radius:18px;padding:30px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 44px rgba(14,36,56,.09)}
.geo-cluster--direct{border-top:4px solid var(--gold)}
.geo-cluster--remote{border-top:4px solid var(--blue)}
.geo-cluster__title{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.geo-cluster__title>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--gold2);font-family:'Playfair Display',serif;font-weight:700}
.geo-cluster__title b{display:block;color:var(--navy);font-size:.96rem}
.geo-cluster__title small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}
.country-list{display:flex;flex-wrap:wrap;gap:10px}
.country-list span{position:relative;padding:10px 14px 10px 28px;border-radius:999px;background:#f1f5f9;border:1px solid #dfe6ee;color:var(--navy2);font-size:.76rem;font-weight:600}
.country-list span::before{content:"";position:absolute;left:13px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--gold);transform:translateY(-50%);box-shadow:0 0 0 4px rgba(201,162,75,.13)}
.geo-cluster--remote .country-list span::before{background:var(--blue);box-shadow:0 0 0 4px rgba(46,90,136,.12)}
.geo-axis{display:flex;align-items:center;gap:8px;color:var(--gold);text-align:center}
.geo-axis span{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold))}
.geo-axis span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.geo-axis b{font-size:.65rem;line-height:1.25;text-transform:uppercase;letter-spacing:.1em}

.systems-proof{background:linear-gradient(145deg,#0a1a2a,var(--navy2));color:#fff}
.systems-proof .h2{color:#fff;max-width:820px}
.systems-proof .lead{color:#b9c8d8}
.systems-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:46px}
.system-card{display:flex;gap:18px;min-height:245px;padding:25px 22px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.045);transition:transform .3s,border-color .3s,background .3s}
.system-card:hover{transform:translateY(-5px);border-color:rgba(227,196,126,.68);background:rgba(255,255,255,.075)}
.system-card__index{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--gold);padding-top:2px}
.system-card small{display:block;color:var(--gold2);font-size:.63rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.system-card h3{font-family:'Inter',sans-serif;font-size:1rem;margin:7px 0 10px;color:#fff}
.system-card p{font-size:.78rem;color:#b9c8d8;line-height:1.65}
.system-card b{display:inline-block;margin-top:16px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);color:#dce7f1;font-size:.66rem;letter-spacing:.04em}

.numbers-closing{padding:0;background:#fff}
.numbers-closing__inner{position:relative;transform:translateY(52px);z-index:2;padding:52px;border-radius:18px;background:linear-gradient(125deg,var(--navy),#234c74);color:#fff;box-shadow:0 25px 60px rgba(14,36,56,.28);overflow:hidden}
.numbers-closing__inner::after{content:"";position:absolute;right:-75px;top:-95px;width:270px;height:270px;border:1px solid rgba(227,196,126,.24);border-radius:50%;box-shadow:0 0 0 45px rgba(227,196,126,.04)}
.numbers-closing h2{max-width:850px;font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.22;position:relative;z-index:1}
.numbers-closing p{max-width:760px;margin-top:16px;color:#c3d0dd;position:relative;z-index:1}
.numbers-closing .cta{position:relative;z-index:1}
.chiffres-page footer{padding-top:90px}

@media(max-width:960px){
  .executive-numbers{grid-template-columns:repeat(2,1fr)}
  .executive-numbers .number-card:nth-child(4) strong{font-size:clamp(2rem,4.4vw,3rem)}
  .systems-grid{grid-template-columns:repeat(2,1fr)}
  .geography-grid{grid-template-columns:1fr}
  .geo-axis{width:min(260px,70%);margin:0 auto}
}
@media(max-width:760px){
  .numbers-intro,.impact-map__head,.scale-panels{grid-template-columns:1fr;gap:24px}
  .executive-numbers{grid-template-columns:1fr}
  .number-card--signature,.number-card--wide{grid-column:auto}
  .number-card{min-height:0}
  .executive-numbers .number-card:nth-child(4) strong{font-size:clamp(2rem,9vw,3rem)}
  .systems-grid{grid-template-columns:1fr}
  .geo-cluster{min-height:0;padding:24px 20px}
  .numbers-closing__inner{padding:38px 24px;border-radius:0;width:100%}
  .numbers-closing .container{width:100%}
  .scale-panel{padding:25px 21px}
}
@media(max-width:430px){
  .scale-panel__metrics{gap:20px}
  .scale-panel__metrics div{min-width:100px}
  .scale-panel__metrics strong{font-size:1.8rem}
  .country-list span{width:100%}
}
/* AZOU V10.2.0 — parcours Sécurité */
.azou-x__emergency{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:10px;min-width:min(540px,70vw)}
.azou-x__emergency a,.azou-x__emergency button{min-height:86px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:.2s ease;font:inherit}
.azou-x__emergency a:hover,.azou-x__emergency button:hover{transform:translateY(-2px);border-color:#dfbd6c;background:rgba(223,189,108,.12)}
.azou-x__emergency strong{font-size:1.35rem;color:#f2d892}.azou-x__emergency span{font-size:.7rem;font-weight:800}
.azou-x__emergency-note{max-width:540px;margin-top:10px;color:#aebfcb;font-size:.66rem;line-height:1.5}
@media(max-width:760px){.azou-x__emergency{grid-template-columns:repeat(2,1fr);min-width:0;width:100%}}

/* AZOU AI V10.8.3 — espace visible et insécable dans le bouton. */
.azou-x__primary--ai{column-gap:.55em;white-space:nowrap}
.azou-x__primary--ai strong{font-family:'Playfair Display',serif;letter-spacing:.035em}

.text-gold {
    color: #e5bd62;
    font-weight: 700;
}

.azou-situation-gradient {
    display: inline-block;
    color: #d4af37; /* couleur de secours */
    background: linear-gradient(
        90deg,
        #b8860b 0%,
        #f3d36a 35%,
        #39aee8 70%,
        #126da3 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
