/* ══════════════════════════════════════════════════════════
   w-art HORIZON
   Blanc, épuré, respirant · bleu pétrole → bleu arctique
   Signatures : la double hélice, le nid d'abeille, le dépli
   ══════════════════════════════════════════════════════════ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --fond:#ffffff;
  --fond-tinte:#f5fafb;
  --fond-voile:rgba(255,255,255,.86);

  --encre:#16242c;
  --encre-douce:#46606d;
  --gris:#8ea3ad;

  --petrole:#0f5566;
  --petrole-clair:#1d7d94;
  --arctique:#8fc9da;
  --arctique-pale:#d5ebf1;

  --ligne:rgba(22,36,44,.10);
  --ligne-bleue:rgba(15,85,102,.22);
  --ombre:0 1px 2px rgba(22,36,44,.04);
  --ombre-haute:0 20px 50px rgba(15,85,102,.10);

  /* compatibilité avec les pages existantes */
  --noir:#ffffff; --noir-profond:#ffffff; --noir-carte:#ffffff; --sable:var(--fond-tinte);
  --blanc:var(--encre); --blanc-casse:#2b4450; --gris-clair:var(--encre-douce);
  --or:var(--petrole); --or-clair:var(--petrole-clair); --or-sombre:#0a3d4a;
  --ligne-faible:var(--ligne);

  --max:1240px;
  --nav-h:86px;
}

html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);overflow-x:clip}

body{
  background:var(--fond);
  color:var(--encre-douce);
  font-family:'Inter',-apple-system,sans-serif;
  font-weight:300;
  font-size:16.5px;
  line-height:1.8;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* nappe de particules, derrière tout */
#particules{position:fixed;inset:0;z-index:0;pointer-events:none}
header,section,footer,.statement,.band,.hero{position:relative;z-index:1}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
::selection{background:var(--arctique-pale);color:var(--encre)}
:focus-visible{outline:1.5px solid var(--petrole);outline-offset:4px}

/* ─────────── typographie ─────────── */
h1,h2,h3,h4{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;
  line-height:1.14;color:var(--encre);letter-spacing:-.005em;
}
.cinzel{font-family:'Cinzel',serif}
.or{color:var(--petrole)}
.gris{color:var(--gris)}
em{font-style:italic;color:var(--petrole)}

.eyebrow{
  font-family:'Inter',sans-serif;font-size:10px;font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;color:var(--petrole);
  margin-bottom:28px;display:block;
}
.sec-title{font-size:clamp(34px,5.4vw,68px);margin-bottom:30px}
.sec-title em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--petrole-clair)}
.lead{font-family:'Cormorant Garamond',serif;font-size:clamp(21px,2.4vw,28px);font-weight:300;line-height:1.55;color:var(--encre);max-width:46ch}
.body-text{color:var(--encre-douce);max-width:60ch;margin-bottom:20px;font-size:16.5px}
.body-text strong{color:var(--encre);font-weight:500}

/* ─────────── structure ─────────── */
section{padding:clamp(88px,12vw,168px) 30px;position:relative}
.container{max-width:var(--max);margin:0 auto}
.section-dark{background:var(--fond-tinte)}
.narrow{max-width:840px;margin:0 auto}
.divider-h{width:1px;height:64px;background:linear-gradient(var(--petrole),transparent);margin:0 auto}
.rule{height:1px;background:var(--ligne);border:0;margin:52px 0}

/* ─────────── navigation ─────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,3.4vw,44px);transition:background .5s,box-shadow .5s;
}
nav.scrolled{background:var(--fond-voile);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 1px 0 var(--ligne)}

.nav-id{display:flex;align-items:center;gap:12px}
.nav-id .glyphe{width:22px;height:26px;flex-shrink:0}
.nav-id .glyphe path{stroke:var(--petrole);stroke-width:1.2;fill:none;stroke-linecap:round}
.nav-name{font-family:'Cinzel',serif;font-size:14px;font-weight:400;letter-spacing:.22em;color:var(--encre)}
.nav-name span{color:var(--petrole)}
.nav-tag{font-family:'Inter',sans-serif;font-size:7.5px;font-weight:500;letter-spacing:.3em;color:var(--gris);text-transform:uppercase;display:block;margin-top:4px}

.nav-droite{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px)}
.nav-links{display:flex;align-items:center;gap:clamp(16px,2.2vw,30px);transition:opacity .45s,transform .45s,visibility .45s}
.nav-links a{
  font-family:'Inter',sans-serif;font-size:10.5px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;
  color:var(--encre-douce);transition:color .3s;position:relative;padding:4px 0;
}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--petrole);transition:width .35s}
.nav-links a:hover{color:var(--encre)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}

/* les onglets s'effacent, l'hexagone prend le relais */
nav.compact .nav-links,nav.menu-ouvert .nav-links{opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none}
nav.menu-ouvert .hex-mot{opacity:0;transition:opacity .3s}
@media(max-width:1080px){.nav-links{display:none}}

.hex-btn{
  width:46px;height:52px;background:none;border:0;cursor:pointer;position:relative;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hex-btn svg{width:100%;height:100%;overflow:visible}
.hex-btn polygon{fill:none;stroke:var(--encre);stroke-width:1;transition:stroke .35s,fill .35s}
.hex-btn:hover polygon{stroke:var(--petrole);fill:rgba(143,201,218,.12)}
.hex-btn .traits{position:absolute;display:flex;flex-direction:column;gap:4px;align-items:center}
.hex-btn .traits i{display:block;width:14px;height:1px;background:var(--encre);transition:.35s}
.hex-btn:hover .traits i{background:var(--petrole)}
.hex-btn[aria-expanded="true"] .traits i:first-child{transform:translateY(2.5px) rotate(45deg)}
.hex-btn[aria-expanded="true"] .traits i:last-child{transform:translateY(-2.5px) rotate(-45deg)}
.hex-mot{font-family:'Inter',sans-serif;font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--encre)}
@media(max-width:560px){.hex-mot{display:none}}

/* voile de menu */
.voile{
  position:fixed;inset:0;z-index:999;background:var(--fond);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;
}
.voile.on{opacity:1;visibility:visible}
.voile-liens{display:flex;flex-direction:column;gap:clamp(4px,1.4vh,14px);padding:30px}
.voile-liens a{
  font-family:'Cormorant Garamond',serif;font-size:clamp(30px,5.6vw,58px);font-weight:300;color:var(--encre);
  line-height:1.25;opacity:0;transform:translateY(18px);transition:color .3s;display:flex;align-items:baseline;gap:16px;
}
.voile.on .voile-liens a{animation:monte .7s cubic-bezier(.16,1,.3,1) forwards}
.voile-liens a span{font-family:'Inter',sans-serif;font-size:10px;font-weight:500;letter-spacing:.2em;color:var(--arctique)}
.voile-liens a:hover{color:var(--petrole)}
.voile-pied{position:absolute;bottom:34px;left:0;right:0;text-align:center;font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
@keyframes monte{to{opacity:1;transform:none}}

/* ─────────── hero ─────────── */
.hero{
  min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--nav-h) + 30px) 30px 150px;position:relative;overflow:hidden;
}
.hero-grille{
  max-width:var(--max);margin:0 auto;width:100%;
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,4vw,60px);align-items:center;
}
.hero-inner{max-width:600px}
.hero-kicker{
  font-family:'Inter',sans-serif;font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;
  color:var(--petrole);margin-bottom:30px;opacity:0;animation:fadeUp 1.1s ease .3s forwards;
}
.hero-title{
  font-size:clamp(38px,5.4vw,70px);line-height:1.12;margin-bottom:36px;font-weight:300;
  opacity:0;animation:fadeUp 1.4s cubic-bezier(.16,1,.3,1) .5s forwards;
}
.hero-title em{font-style:italic;color:var(--petrole)}
.hero-lead{
  font-family:'Inter',sans-serif;font-size:16.5px;font-weight:300;color:var(--encre-douce);max-width:460px;margin:0 0 44px;
  opacity:0;animation:fadeUp 1.3s ease .8s forwards;
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;opacity:0;animation:fadeUp 1.3s ease 1.05s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

.scroll-hint{
  position:absolute;bottom:34px;left:clamp(20px,3.4vw,44px);z-index:2;
  font-family:'Inter',sans-serif;font-size:9px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gris);
  opacity:0;animation:fadeUp 1s ease 1.6s forwards;
}
.scroll-hint::after{content:'';display:block;width:1px;height:52px;margin-top:14px;background:linear-gradient(var(--petrole),transparent);animation:file 2.6s infinite}
@keyframes file{0%{transform:scaleY(.3);opacity:.4;transform-origin:top}50%{transform:scaleY(1);opacity:1;transform-origin:top}100%{transform:scaleY(.3);opacity:.4;transform-origin:top}}
@media(max-width:900px){.scroll-hint{display:none}}

/* la double hélice */
.helice{position:fixed;top:0;right:0;width:46vw;height:100svh;z-index:0;pointer-events:none}
.helice canvas{width:100%;height:100%;display:block}
.helice-etiquette{
  position:absolute;pointer-events:none;background:#fff;border:1px solid var(--ligne);
  box-shadow:var(--ombre-haute);padding:10px 15px;border-radius:1px;
  font-family:'Inter',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--encre);opacity:0;transform:translate(-50%,-160%);transition:opacity .25s;white-space:nowrap;
}
.helice-etiquette.on{opacity:1}
@media(max-width:900px){
  .hero{padding:calc(var(--nav-h) + 26px) 26px 90px;align-items:center}
  .hero-grille{display:block}
  .hero-inner{max-width:none;position:relative;z-index:2}
  .helice{right:-14vw;width:86vw;opacity:.55}
  .hero-title{font-size:clamp(31px,8vw,44px)}
  .hero-lead{max-width:90%}
}

/* ─────────── boutons ─────────── */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-family:'Inter',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  padding:17px 34px;border:1px solid var(--encre);color:var(--encre);background:none;
  border-radius:0;cursor:pointer;transition:.4s;
}
.btn:hover{background:var(--encre);color:#fff}
.btn-plein{background:var(--petrole);color:#fff;border-color:var(--petrole)}
.btn-plein:hover{background:var(--encre);border-color:var(--encre)}
.btn-fantome{border-color:var(--ligne);color:var(--encre-douce)}
.btn-fantome:hover{background:none;border-color:var(--petrole);color:var(--petrole)}
.btn[disabled]{opacity:.4;cursor:not-allowed}

/* ─────────── le dépli : on clique, le texte paraît ─────────── */
.depli{border-top:1px solid var(--ligne)}
.depli:last-of-type{border-bottom:1px solid var(--ligne)}
.depli-tete{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;
  display:flex;align-items:center;gap:24px;padding:clamp(26px,3.4vw,40px) 0;transition:color .35s;
}
.depli-num{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.2em;color:var(--arctique);width:26px;flex-shrink:0}
.depli-titre{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.8vw,34px);font-weight:300;color:var(--encre);flex:1;line-height:1.25;transition:color .35s}
.depli-tete:hover .depli-titre{color:var(--petrole)}
.depli-signe{width:16px;height:16px;position:relative;flex-shrink:0}
.depli-signe::before,.depli-signe::after{content:'';position:absolute;background:var(--petrole);transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s}
.depli-signe::before{left:0;top:7.5px;width:16px;height:1px}
.depli-signe::after{left:7.5px;top:0;width:1px;height:16px}
.depli.ouvert .depli-signe::after{transform:scaleY(0);opacity:0}
.depli-corps{overflow:hidden;height:0;transition:height .55s cubic-bezier(.16,1,.3,1)}
.depli-corps > div{padding:0 0 clamp(28px,3.4vw,42px) 50px;max-width:64ch;color:var(--encre-douce)}
.depli-corps p{margin-bottom:16px}
@media(max-width:640px){.depli-corps > div{padding-left:0}.depli-tete{gap:14px}}

/* ─────────── nid d'abeille ─────────── */
.nid{--hex:clamp(126px,13vw,178px);--jeu:14px;display:flex;flex-direction:column;align-items:center}
.accueil .nid{align-items:flex-end}
@media(max-width:900px){.accueil .nid{align-items:center}}
.nid-rangee{display:flex;gap:var(--jeu)}
.nid-rangee + .nid-rangee{margin-top:calc(var(--hex) * -0.2887 + var(--jeu))}
.alveole{
  width:var(--hex);aspect-ratio:1/1.1547;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  background:var(--fond-tinte);position:relative;cursor:pointer;overflow:hidden;
  opacity:0;transform:scale(var(--ech,1)) translateY(calc(46px + var(--dy,0px)));
  transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);
}
.alveole.visible{opacity:1;transform:scale(var(--ech,1)) translateY(var(--dy,0px));transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}
.alveole img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .5s;filter:saturate(.86)}
.alveole::after{
  content:'';position:absolute;inset:0;background:rgba(15,85,102,.28);
  opacity:0;transition:opacity .45s;
}
.alveole:hover{--dy:-9px}
.alveole:hover img{transform:scale(1.07);filter:saturate(1)}
.alveole:hover::after{opacity:1}
.alveole span{
  position:absolute;left:0;right:0;bottom:22%;text-align:center;z-index:2;
  font-family:'Inter',sans-serif;font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:#fff;opacity:0;transform:translateY(8px);transition:.45s;padding:0 12px;
}
.alveole:hover span{opacity:1;transform:none}
@media(max-width:760px){.nid{--hex:28vw;--jeu:9px}}

/* ─────────── compteurs circulaires ─────────── */
.cercles{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(30px,6vw,90px)}
.cercle{text-align:center;width:clamp(180px,22vw,240px)}
.cercle-disque{position:relative;width:100%;aspect-ratio:1}
.cercle-disque svg{width:100%;height:100%;transform:rotate(-90deg)}
.cercle-disque circle{fill:none;stroke-width:1.2}
.cercle-disque .fond{stroke:var(--ligne)}
.cercle-disque .arc{stroke:url(#degradeBleu);stroke-linecap:round;stroke-dasharray:0 999;transition:stroke-dasharray 1.8s cubic-bezier(.16,1,.3,1)}
.cercle-val{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,58px);font-weight:300;color:var(--encre);
}
.cercle-label{font-family:'Inter',sans-serif;font-size:11px;font-weight:300;color:var(--gris);margin-top:20px;line-height:1.6;padding:0 6px}

/* ─────────── cartes, grilles ─────────── */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(34px,5vw,80px);align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}

.card{background:#fff;border:1px solid var(--ligne);padding:38px 32px;transition:.45s}
.card:hover{border-color:var(--ligne-bleue);transform:translateY(-5px);box-shadow:var(--ombre-haute)}
.card-glyph{color:var(--petrole);font-size:14px;margin-bottom:20px;display:block}
.card h3{font-size:22px;margin-bottom:13px}
.card p{font-size:15.5px;color:var(--encre-douce)}
.card .meta{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--petrole);margin-bottom:14px;display:block}

.media{position:relative;overflow:hidden;background:var(--fond-tinte)}
.media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.media:hover img{transform:scale(1.04)}
.media-cap{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);margin-top:16px}
.ratio-4-5{aspect-ratio:4/5}.ratio-3-2{aspect-ratio:3/2}.ratio-16-9{aspect-ratio:16/9}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--ligne)}
.step{background:#fff;padding:40px 30px}
.step-num{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--petrole);display:block;margin-bottom:18px}
.step h4{font-size:21px;margin-bottom:12px}
.step p{font-size:15.5px}

.cause{display:flex;gap:20px;align-items:flex-start;padding:28px 0;border-bottom:1px solid var(--ligne)}
.cause:last-child{border-bottom:0}
.cause-glyph{color:var(--arctique);font-size:11px;padding-top:9px}
.cause h4{font-size:22px;margin-bottom:8px}
.cause p{font-size:15.5px}
.tag{font-family:'Inter',sans-serif;font-size:8.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ligne-bleue);color:var(--petrole);padding:4px 11px;display:inline-block;margin-bottom:11px}

.statement{padding:clamp(90px,13vw,180px) 30px;text-align:center;background:var(--fond-tinte)}
.statement p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(26px,4.2vw,50px);line-height:1.34;max-width:960px;margin:0 auto 28px;color:var(--encre)}
.statement span{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--petrole)}

.band{
  background:#fff;border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne);
  padding:26px 30px;display:flex;flex-wrap:wrap;gap:14px 52px;justify-content:center;
  font-family:'Inter',sans-serif;font-size:9.5px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--encre-douce);
}
.band span{display:flex;align-items:center;gap:10px}
.band span::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--arctique)}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--ligne)}
.stat{background:#fff;padding:40px 22px;text-align:center}
.stat-val{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(34px,4.6vw,52px);color:var(--encre);display:block;line-height:1}
.stat-label{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);margin-top:14px;display:block}

/* ─────────── formulaires / simulateur ─────────── */
.simu{background:#fff;border:1px solid var(--ligne);padding:clamp(30px,5vw,56px)}
.simu-choix{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.chip{font-family:'Inter',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ligne);color:var(--encre-douce);background:none;padding:12px 20px;cursor:pointer;transition:.3s}
.chip:hover{border-color:var(--petrole);color:var(--petrole)}
.chip.on{background:var(--encre);border-color:var(--encre);color:#fff}
.montants{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.montant{font-family:'Cormorant Garamond',serif;font-size:19px;border:1px solid var(--ligne);background:none;color:var(--encre);padding:12px 24px;cursor:pointer;transition:.3s}
.montant:hover{border-color:var(--petrole);color:var(--petrole)}
.montant.on{background:var(--petrole);border-color:var(--petrole);color:#fff}

.champ{display:block;margin-bottom:20px}
.champ label{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);display:block;margin-bottom:9px}
.champ input,.champ select,.champ textarea{width:100%;background:var(--fond-tinte);border:1px solid var(--ligne);padding:15px;font-family:'Inter',sans-serif;font-size:14px;color:var(--encre);transition:.3s}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--petrole);background:#fff;outline:none}
.champ textarea{min-height:120px;resize:vertical}
.champs-2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
@media(max-width:600px){.champs-2{grid-template-columns:1fr}}

.horizon-bar{margin:34px 0 8px;position:relative;height:2px;background:var(--ligne)}
.horizon-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(to right,var(--arctique),var(--petrole));transition:width .7s cubic-bezier(.16,1,.3,1)}
.horizon-legende{display:flex;justify-content:space-between;font-family:'Inter',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-top:14px}
.simu-resultat{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ligne);margin-top:30px}
.simu-bloc{background:#fff;padding:32px 20px;text-align:center}
.simu-bloc .v{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(30px,4vw,44px);color:var(--petrole);display:block;line-height:1}
.simu-bloc .l{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);margin-top:12px;display:block}
.simu-bloc.net .v{color:var(--encre)}
.note{font-size:13px;color:var(--gris);line-height:1.7;margin-top:24px}

/* ─────────── publications ─────────── */
.post{display:block;background:#fff;border:1px solid var(--ligne);transition:.45s;height:100%;overflow:hidden}
.post:hover{border-color:var(--ligne-bleue);transform:translateY(-5px);box-shadow:var(--ombre-haute)}
.post-img{aspect-ratio:3/2;overflow:hidden;background:var(--fond-tinte)}
.post-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.post:hover .post-img img{transform:scale(1.04)}
.post-body{padding:30px 28px}
.post-date{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--petrole);display:block;margin-bottom:13px}
.post h3{font-size:23px;margin-bottom:12px;line-height:1.28}
.post p{font-size:15.5px;color:var(--encre-douce)}
.post-plus{font-family:'Inter',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--petrole);margin-top:20px;display:inline-block}

.video-carte{position:relative;cursor:pointer}
.video-carte .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,85,102,.20);transition:.4s}
.video-carte:hover .play{background:rgba(15,85,102,.06)}
.play span{width:68px;height:68px;border:1px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;background:rgba(22,36,44,.34);transition:.4s;padding-left:4px}
.video-carte:hover .play span{background:#fff;color:var(--petrole);transform:scale(1.08)}

.outil .badge{font-family:'Inter',sans-serif;font-size:8.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--petrole);border:1px solid var(--ligne-bleue);padding:4px 11px;align-self:flex-start;margin-bottom:18px}
.outil .lien{margin-top:auto;padding-top:20px;font-family:'Inter',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--petrole)}

.presse{display:block;background:#fff;border:1px solid var(--ligne);padding:34px 30px;transition:.45s;height:100%}
.presse:hover{border-color:var(--ligne-bleue);transform:translateY(-5px);box-shadow:var(--ombre-haute)}
.presse .media-nom{font-family:'Inter',sans-serif;font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--petrole);display:block;margin-bottom:18px}
.presse h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:24px;line-height:1.32;margin-bottom:14px}
.presse .quand{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.presse .aller{font-family:'Inter',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--petrole);display:inline-block;margin-top:20px}

/* ─────────── révélation ─────────── */
.reveal{opacity:0;transform:translateY(46px);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}

/* ─────────── lightbox ─────────── */
.lightbox{position:fixed;inset:0;background:rgba(255,255,255,.97);z-index:9997;display:none;align-items:center;justify-content:center;padding:34px;backdrop-filter:blur(8px)}
.lightbox.open{display:flex}
.lightbox img,.lightbox iframe{max-width:92vw;max-height:88vh;box-shadow:var(--ombre-haute)}
.lightbox iframe{width:min(1000px,92vw);aspect-ratio:16/9;height:auto}
.lightbox-close{position:absolute;top:26px;right:30px;background:none;border:0;color:var(--encre);font-size:24px;cursor:pointer}

/* ─────────── assistant ─────────── */
.chat-bulle{
  position:fixed;bottom:26px;right:26px;z-index:9500;width:54px;height:60px;border:0;background:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:transform .4s;
}
.chat-bulle:hover{transform:scale(1.07)}
.chat-bulle svg{position:absolute;inset:0;width:100%;height:100%}
.chat-bulle polygon{fill:var(--petrole);transition:fill .35s}
.chat-bulle:hover polygon{fill:var(--encre)}
.chat-bulle b{position:relative;color:#fff;font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400}
.chat-bulle .pastille{position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;background:var(--arctique);border:2px solid #fff}

.chat-fenetre{
  position:fixed;bottom:98px;right:26px;z-index:9501;width:min(380px,calc(100vw - 44px));
  height:min(548px,calc(100svh - 150px));background:#fff;border:1px solid var(--ligne);
  display:none;flex-direction:column;box-shadow:0 26px 70px rgba(15,85,102,.18);
}
.chat-fenetre.open{display:flex;animation:fadeUp .4s ease}
.chat-tete{padding:17px 19px;border-bottom:1px solid var(--ligne);display:flex;align-items:center;gap:12px}
.chat-tete .av{width:36px;height:36px;border-radius:50%;background:var(--petrole);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;color:#fff;font-size:16px;flex-shrink:0}
.chat-tete h4{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:500;letter-spacing:.04em;color:var(--encre)}
.chat-tete .etat{font-family:'Inter',sans-serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);display:flex;align-items:center;gap:6px;margin-top:3px}
.chat-tete .etat::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--arctique)}
.chat-tete button{margin-left:auto;background:none;border:0;color:var(--gris);font-size:17px;cursor:pointer}
.chat-corps{flex:1;overflow-y:auto;padding:19px;display:flex;flex-direction:column;gap:14px;background:var(--fond-tinte)}
.chat-corps::-webkit-scrollbar{width:3px}
.chat-corps::-webkit-scrollbar-thumb{background:var(--ligne)}
.msg{max-width:87%;padding:13px 16px;font-size:14.5px;line-height:1.65}
.msg.bot{background:#fff;border:1px solid var(--ligne);align-self:flex-start;color:var(--encre-douce)}
.msg.moi{background:var(--petrole);color:#fff;align-self:flex-end}
.msg.bot a{color:var(--petrole);text-decoration:underline}
.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 19px 13px;background:var(--fond-tinte)}
.chat-suggestions button{font-family:'Inter',sans-serif;font-size:10.5px;border:1px solid var(--ligne);background:#fff;color:var(--encre-douce);padding:8px 12px;cursor:pointer;transition:.3s}
.chat-suggestions button:hover{border-color:var(--petrole);color:var(--petrole)}
.chat-pied{padding:13px 15px;border-top:1px solid var(--ligne);display:flex;gap:9px;background:#fff}
.chat-pied input{flex:1;background:var(--fond-tinte);border:1px solid var(--ligne);padding:12px 14px;font-size:14px}
.chat-pied input:focus{border-color:var(--petrole);outline:none}
.chat-pied button{background:var(--petrole);border:0;color:#fff;padding:0 17px;cursor:pointer;font-size:14px}
.chat-pied button:disabled{opacity:.4}
.points span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--arctique);margin-right:4px;animation:bl 1.3s infinite}
.points span:nth-child(2){animation-delay:.2s}
.points span:nth-child(3){animation-delay:.4s}
@keyframes bl{0%,60%,100%{opacity:.25}30%{opacity:1}}

/* ─────────── états ─────────── */
.alerte{border:1px solid var(--ligne-bleue);background:rgba(143,201,218,.09);padding:18px 20px;font-size:13.5px;color:var(--encre-douce);line-height:1.7;margin:24px 0}
.alerte strong{color:var(--encre);font-weight:500}
.alerte.ok{border-color:rgba(56,142,110,.35);background:rgba(56,142,110,.06)}
.alerte.err{border-color:rgba(184,84,84,.35);background:rgba(184,84,84,.05)}
.vide{text-align:center;padding:76px 20px;color:var(--gris);font-size:13.5px;border:1px dashed var(--ligne)}

/* ─────────── pied de page ─────────── */
footer{background:#fff;border-top:1px solid var(--ligne);padding:72px 30px 38px}
.foot-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}
@media(max-width:800px){.foot-grid{grid-template-columns:1fr;gap:34px}}
.foot-brand{font-family:'Cinzel',serif;font-size:17px;font-weight:400;letter-spacing:.2em;margin-bottom:16px;color:var(--encre)}
.foot-brand span{color:var(--petrole)}
.foot-grid h5{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--petrole);margin-bottom:20px}
.foot-grid li{list-style:none;margin-bottom:11px;font-size:14.5px;color:var(--encre-douce)}
.foot-grid li a:hover{color:var(--petrole)}
.foot-bas{max-width:var(--max);margin:46px auto 0;padding-top:26px;border-top:1px solid var(--ligne);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:10.5px;color:var(--gris)}
.reseaux{display:flex;gap:12px}
.reseaux a{width:36px;height:36px;border:1px solid var(--ligne);display:flex;align-items:center;justify-content:center;color:var(--encre-douce);transition:.35s;font-size:12px}
.reseaux a:hover{border-color:var(--petrole);color:var(--petrole)}

/* ─────────── accueil : colonne de gauche, hélice à droite ─────────── */
.accueil section > .container{margin:0 0 0 clamp(26px,7vw,116px);max-width:min(620px,50vw)}
.accueil section > .container.narrow{max-width:min(620px,50vw)}
.accueil .center{text-align:left}
.accueil .center > *{margin-left:0 !important;margin-right:0 !important}
.accueil .statement{text-align:left}
.accueil .statement p{margin:0 0 26px clamp(26px,7vw,116px);max-width:min(660px,52vw)}
.accueil .statement span{margin-left:clamp(26px,7vw,116px);display:inline-block}
.accueil .divider-h{margin-left:0}
/* les fonds laissent transparaître l'hélice */
.accueil .section-dark{background:rgba(232,243,246,.34)}
.accueil .statement{background:rgba(232,243,246,.20)}
@media(max-width:900px){
  .accueil section > .container,
  .accueil section > .container.narrow{margin:0 auto;max-width:none}
  .accueil .statement p,.accueil .statement span{margin-left:0}
  .accueil .statement{text-align:center}
  .accueil .center{text-align:center}
}

/* ─────────── attaches : le contenu se détache de l'hélice ─────────── */
.lie{
  opacity:var(--p,0);
  transform:translate(calc((1 - var(--p,0)) * 52px), calc((1 - var(--p,0)) * 46px));
  will-change:opacity,transform;
}
@media(prefers-reduced-motion:reduce){.lie{opacity:1;transform:none}}

/* ─────────── fenêtre de soutien ───────────
   Discrète, ancrée en bas à gauche, jamais devant le contenu.
   Sur téléphone elle devient un bandeau bas d'une seule ligne
   et pousse la bulle de l'assistant vers le haut.            */
.don-flottant{
  position:fixed;left:26px;bottom:26px;z-index:9400;width:334px;max-width:calc(100vw - 52px);
  background:#fff;border:1px solid var(--ligne);box-shadow:0 20px 54px rgba(15,85,102,.16);
  padding:22px 22px 20px;
  opacity:0;visibility:hidden;transform:translateY(22px);
  transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),visibility .6s;
}
.don-flottant.on{opacity:1;visibility:visible;transform:none}
.don-flottant .hex{position:absolute;top:-14px;left:22px;width:28px;height:32px}
.don-flottant .hex polygon{fill:var(--petrole)}
.don-flottant .hex text{fill:#fff;font-family:'Cormorant Garamond',serif;font-size:14px}
.don-flottant .fermer{
  position:absolute;top:10px;right:12px;background:none;border:0;color:var(--gris);
  font-size:17px;line-height:1;cursor:pointer;padding:4px;transition:color .3s;
}
.don-flottant .fermer:hover{color:var(--encre)}
.don-flottant h4{
  font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:300;color:var(--encre);
  line-height:1.3;margin:8px 0 8px;padding-right:20px;
}
.don-flottant p{font-size:13px;color:var(--encre-douce);line-height:1.6;margin-bottom:16px}
.don-flottant .sommes{display:flex;gap:7px;margin-bottom:14px}
.don-flottant .sommes a{
  flex:1;text-align:center;border:1px solid var(--ligne);padding:9px 0;
  font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--encre);transition:.3s;
}
.don-flottant .sommes a:hover{background:var(--petrole);border-color:var(--petrole);color:#fff}
.don-flottant .principal{
  display:block;text-align:center;background:var(--petrole);color:#fff;
  font-family:'Inter',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  padding:13px;transition:.3s;
}
.don-flottant .principal:hover{background:var(--encre)}
.don-flottant .mention{font-size:11px;color:var(--gris);margin:11px 0 0;line-height:1.5}

@media(max-width:760px){
  .don-flottant{
    left:12px;right:12px;bottom:12px;width:auto;max-width:none;
    padding:14px 44px 14px 16px;display:flex;align-items:center;gap:12px;
  }
  .don-flottant .hex{display:none}
  .don-flottant h4{font-size:16px;margin:0;padding:0;flex:1;line-height:1.35}
  .don-flottant p,.don-flottant .sommes,.don-flottant .mention{display:none}
  .don-flottant .principal{padding:11px 16px;font-size:10px;white-space:nowrap}
  .don-flottant .fermer{top:50%;right:8px;transform:translateY(-50%)}
  /* l'assistant remonte pour ne pas se superposer */
  body.don-visible .chat-bulle{bottom:96px;transition:bottom .5s}
  body.don-visible .chat-fenetre{bottom:166px}
}

/* ─────────── utilitaires ─────────── */
.serre{padding-top:clamp(34px,4.6vw,60px)}
.center{text-align:center}
.mt-s{margin-top:20px}.mt-m{margin-top:40px}.mt-l{margin-top:68px}
.mb-m{margin-bottom:40px}
.inter{font-family:'Inter',sans-serif}
.petit{font-size:13.5px}
.masque{display:none !important}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
  .hero-kicker,.hero-title,.hero-lead,.hero-actions,.scroll-hint{opacity:1}
}
@media print{
  nav,.chat-bulle,.chat-fenetre,.helice,#particules,.voile,footer .reseaux,.no-print{display:none !important}
  .depli-corps{height:auto !important}
}
