:root{
  --bleu:#062353; --bleu-profond:#021833; --nuit-haut:#0a2c62; --relief:#0b2d63; --filet-nuit:#1d3a6b;
  --or:#c89a56; --or-clair:#e7bd81; --or-lumiere:#f3d7a0;
  --argent:#c2cad6; --argent-clair:#dfe5f1; --douce-nuit:#a8b4ca;
  --ivoire:#f6f2eb; --surface:#faf8f4; --gris:#e6e5e5; --graphite:#323a46; --douce:#5b6473;
  --bleu-lumiere:#e0e8f1; --accent:#8a6230;
  --titre:"Manrope","Avenir Next","Segoe UI",system-ui,sans-serif;
  --texte:"Inter","Segoe UI",system-ui,sans-serif;
  --marge:64px; --col:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bleu-profond);color:var(--argent-clair);font-family:var(--texte);font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--or-lumiere);outline-offset:3px;border-radius:2px}
.light :focus-visible{outline-color:#0b3a7e}
.wrap{max-width:calc(var(--col) + 2*var(--marge));margin:0 auto;padding:0 var(--marge);position:relative;z-index:2}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Typo */
.sur{display:flex;align-items:center;gap:14px;margin:0;font-family:var(--titre);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--or-clair)}
.sur::before{content:"";width:36px;height:2px;flex:none;background:linear-gradient(90deg,var(--or-lumiere),var(--or))}
.light .sur{color:var(--accent)}
h1,h2,h3{font-family:var(--titre);font-weight:300;margin:0;color:#fff;text-wrap:balance}
.light h1,.light h2,.light h3{color:var(--bleu)}
h1{font-size:clamp(40px,6.2vw,72px);line-height:1.06;letter-spacing:-.01em}
h2{font-size:clamp(32px,4vw,46px);line-height:1.13}
h3{font-size:22px;line-height:30px;font-weight:400}
.or{background:linear-gradient(100deg,var(--or-lumiere),var(--or-clair) 45%,var(--or));-webkit-background-clip:text;background-clip:text;color:transparent}
.light .or{background:none;color:var(--accent)}
.chapo{font-size:19px;line-height:31px;font-weight:300;color:var(--douce-nuit);max-width:640px;margin:0}
.light .chapo{color:var(--douce)}
p{margin:0}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:12px;height:52px;padding:0 26px;border-radius:8px;font-family:var(--titre);font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;border:0;transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .4s}
.btn-or{background:linear-gradient(100deg,var(--or-lumiere),var(--or-clair) 40%,var(--or));color:var(--bleu-profond);box-shadow:0 10px 30px -12px rgba(200,154,86,.7)}
.btn-or:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(200,154,86,.85)}
.btn-or .pt{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35),0 0 14px 4px rgba(255,255,255,.8)}
.btn-ligne{background:transparent;color:var(--argent-clair);box-shadow:inset 0 0 0 1px rgba(194,202,214,.55)}
.btn-ligne:hover{box-shadow:inset 0 0 0 1px var(--or-clair);color:#fff}
.light .btn-ligne{color:var(--bleu);box-shadow:inset 0 0 0 1px #b9c1cc}
.light .btn-ligne:hover{box-shadow:inset 0 0 0 1px var(--accent)}
.fleche{transition:transform .5s var(--ease)}
.btn:hover .fleche{transform:translateX(4px)}

/* En-tête */
.top{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .5s,backdrop-filter .5s,box-shadow .5s}
.top.plein{background:rgba(2,24,51,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(29,58,107,.8)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;transition:height .5s}
.top.plein .wrap{height:68px}
.top .logo img{height:44px;width:auto;transition:height .5s}
.top.plein .logo img{height:36px}
.nav{display:flex;align-items:center;gap:34px}
.nav a.lien{font-family:var(--titre);font-size:14px;font-weight:500;letter-spacing:.02em;color:var(--argent-clair);text-decoration:none;position:relative;padding:6px 0}
.nav a.lien::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--or-clair);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav a.lien:hover::after,.nav a.lien.actif::after{transform:scaleX(1)}
.nav .btn{height:42px;padding:0 18px;font-size:14px}
.burger{display:none;background:none;border:0;color:#fff;width:44px;height:44px;padding:0;cursor:pointer}
.burger span{display:block;width:24px;height:1.5px;background:currentColor;margin:6px auto;transition:transform .4s var(--ease),opacity .3s}
.menu-ouvert .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-ouvert .burger span:nth-child(2){opacity:0}
.menu-ouvert .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* Fil d'or (segments par section) */
section,footer{position:relative}
.fil{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.fil path{fill:none;stroke:url(#gradOr);stroke-width:1.5;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(231,189,129,.55))}
.light .fil path{stroke:var(--or);filter:none;opacity:.8}
.tete{position:absolute;z-index:3;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;pointer-events:none;opacity:0;box-shadow:0 0 0 3px rgba(243,215,160,.45),0 0 18px 6px rgba(231,189,129,.75),0 0 46px 14px rgba(200,154,86,.35)}

/* Intro */
#intro{position:fixed;inset:0;z-index:100;background:radial-gradient(60% 50% at 60% 45%,#123d7a 0%,rgba(10,44,98,0) 70%),linear-gradient(160deg,var(--nuit-haut),var(--bleu) 45%,var(--bleu-profond));display:grid;place-items:center;cursor:pointer}
#intro svg{position:absolute;inset:0;width:100%;height:100%}
#intro .logo-intro{position:relative;width:min(300px,62vw);opacity:0}
#intro .passer{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-family:var(--titre);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--douce-nuit);background:none;border:0;cursor:pointer}
.sans-intro #intro{display:none}

/* Hero */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(42% 46% at 82% 30%,rgba(27,74,140,.5),rgba(27,74,140,0) 70%),linear-gradient(160deg,var(--nuit-haut) 0%,var(--bleu) 48%,var(--bleu-profond) 100%)}
#grille{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero .arc{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero .contenu{padding-top:120px;padding-bottom:140px;max-width:860px}
.hero h1{margin:26px 0 28px}
.hero h1 .mot{display:inline-block;will-change:transform}
.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}
.indice{position:absolute;left:50%;bottom:0;z-index:3;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;padding-bottom:0;font-family:var(--titre);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--douce-nuit);text-decoration:none}
.indice i{display:block;width:1.5px;height:56px;background:linear-gradient(var(--or-clair),rgba(231,189,129,0))}
.indice b{display:block;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(243,215,160,.4),0 0 18px 6px rgba(231,189,129,.7);animation:pouls 2.4s ease-in-out infinite}
@keyframes pouls{50%{box-shadow:0 0 0 6px rgba(243,215,160,.15),0 0 26px 10px rgba(231,189,129,.5)}}

/* Manifeste */
.manifeste{background:var(--bleu-profond);height:100vh;height:100svh;overflow:hidden}
.manifeste .scene{position:relative;z-index:2;height:100%;display:grid;place-items:center;text-align:center;padding:0 24px}
.manifeste .bloc{grid-area:1/1;max-width:900px}
.manifeste .l1{font-family:var(--titre);font-weight:200;font-size:clamp(34px,5vw,64px);line-height:1.1;color:#fff}
.manifeste .moments{display:flex;flex-direction:column;gap:14px;margin-top:34px}
.manifeste .moments span{font-family:var(--titre);font-weight:300;font-size:clamp(20px,2.4vw,30px);color:var(--argent-clair)}
.manifeste .moments em{font-style:normal;color:var(--or-clair)}
.equation{display:flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,22px);flex-wrap:wrap}
.puce{display:inline-flex;align-items:center;justify-content:center;width:clamp(96px,11vw,132px);height:clamp(96px,11vw,132px);border-radius:50%;border:1px solid rgba(194,202,214,.6);font-family:var(--titre);font-size:clamp(15px,1.5vw,19px);font-weight:400;color:#fff;background:rgba(11,45,99,.35)}
.equation .plus{font-family:var(--titre);font-weight:200;font-size:30px;color:var(--argent)}
.resultat{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:10px}
.resultat .spark{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(243,215,160,.4),0 0 30px 12px rgba(231,189,129,.75),0 0 80px 30px rgba(200,154,86,.35)}
.resultat .mot{font-family:var(--titre);font-weight:200;font-size:clamp(42px,6vw,80px);line-height:1}
.resultat p{max-width:620px;color:var(--douce-nuit);font-size:18px;line-height:29px;font-weight:300}

/* Trois moments */
.trois{background:var(--bleu-profond);overflow:hidden}
.trois .piste{display:flex;gap:28px;align-items:stretch;padding:120px var(--marge);width:max-content;position:relative;z-index:2}
.trois .intro{width:min(420px,80vw);flex:none;display:flex;flex-direction:column;justify-content:center;gap:22px;padding-right:20px}
.panneau{position:relative;flex:none;width:min(62vw,820px);height:min(70vh,620px);border-radius:4px;overflow:hidden;text-decoration:none;color:#fff;box-shadow:0 30px 60px -30px rgba(2,24,51,.55);display:block}
.panneau img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.4s var(--ease)}
.panneau:hover img{transform:scale(1.04)}
.panneau .voile{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,24,51,.95) 0%,rgba(2,24,51,.55) 42%,rgba(2,24,51,.12) 75%)}
.panneau .txt{position:absolute;left:44px;right:44px;bottom:40px;display:flex;flex-direction:column;gap:14px}
.panneau .num{font-family:var(--titre);font-weight:200;font-size:56px;line-height:1;color:var(--or)}
.panneau .tiret{width:36px;height:2px;background:linear-gradient(90deg,var(--or-lumiere),var(--or))}
.panneau .titre{font-family:var(--titre);font-size:20px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.panneau .phrase{font-family:var(--titre);font-weight:300;font-size:clamp(22px,2.2vw,30px);line-height:1.25;max-width:560px}
.panneau .qui{font-size:14px;color:var(--argent-clair);display:flex;align-items:center;gap:10px}
.panneau .qui::after{content:"→";transition:transform .5s var(--ease)}
.panneau:hover .qui::after{transform:translateX(5px)}

/* Sections univers */
.univers{padding:128px 0}
.entete{display:flex;flex-direction:column;gap:22px;max-width:820px}
.num-sec{font-family:var(--titre);font-weight:200;font-size:64px;line-height:1;color:var(--or)}

.habiter{background:linear-gradient(180deg,var(--bleu-profond) 0%,var(--bleu) 100%)}
.vitrine{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;margin-top:80px}
.photo{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:4/3.2;box-shadow:0 30px 60px -30px rgba(2,24,51,.8)}
.photo img{width:100%;height:115%;object-fit:cover;will-change:transform}
.photo .voile{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,24,51,.6),rgba(2,24,51,0) 50%)}
.photo .legende{position:absolute;left:24px;bottom:20px;right:24px;font-size:12px;line-height:18px;color:var(--argent-clair);opacity:.85}
.vitrine .texte{display:flex;flex-direction:column;gap:20px}
.vitrine h3{font-size:clamp(26px,2.6vw,34px);line-height:1.2;font-weight:300}
.chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:80px}
.chiffre{border-top:1px solid var(--or);padding-top:16px}
.chiffre b{display:block;font-family:var(--titre);font-weight:200;font-size:clamp(44px,5vw,64px);line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.chiffre span{display:block;margin-top:8px;font-size:14px;line-height:21px;color:var(--argent-clair)}
.temoin{margin-top:72px;display:flex;gap:26px;align-items:flex-start;max-width:900px}
.temoin svg{flex:none;margin-top:8px}
.temoin q{display:block;font-family:var(--titre);font-weight:300;font-size:clamp(20px,2vw,26px);line-height:1.4;color:#fff;quotes:"« " " »"}
.temoin cite{display:block;margin-top:14px;font-style:normal;font-size:13px;color:var(--douce-nuit)}
.niveaux-tete{margin-top:128px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.niveaux{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:56px;align-items:end}
.niveau{position:relative;background:rgba(11,45,99,.55);border:1px solid var(--filet-nuit);border-radius:4px;padding:26px 24px 28px;display:flex;flex-direction:column;gap:10px}
.niveau:nth-of-type(1){margin-bottom:0}
.niveau:nth-of-type(2){margin-bottom:40px}
.niveau:nth-of-type(3){margin-bottom:80px}
.niveau:nth-of-type(4){margin-bottom:120px;background:var(--bleu);border-color:rgba(231,189,129,.45)}
.niveau .etape{font-family:var(--titre);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--or-clair)}
.niveau h3{font-size:19px;line-height:26px}
.niveau p{font-size:14px;line-height:22px;color:var(--argent-clair)}
.niveaux .marche{position:absolute;left:0;right:0;top:-30px;height:calc(100% + 30px);pointer-events:none;overflow:visible}
.note{margin-top:28px;font-size:14px;line-height:22px;color:var(--douce-nuit);max-width:760px}
.conseil{margin-top:72px;display:flex;gap:40px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:32px 36px;border-radius:4px;background:linear-gradient(100deg,rgba(11,45,99,.9),rgba(6,35,83,.4));border:1px solid var(--filet-nuit)}
.conseil p{max-width:640px;color:var(--argent-clair)}
.conseil strong{font-family:var(--titre);font-weight:400;color:#fff;display:block;font-size:19px;margin-bottom:6px}

/* Célébrer */
.celebrer{background:#010f22}
.scene-aweo{position:relative;height:100vh;height:100svh;overflow:hidden}
#etincelles{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.scene-aweo .calque{position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;padding:0 24px;pointer-events:none}
.scene-aweo .p1{max-width:860px;font-family:var(--titre);font-weight:200;font-size:clamp(30px,4.4vw,56px);line-height:1.15;color:#fff}
.scene-aweo .haut{position:absolute;top:110px;left:0;right:0;display:flex;justify-content:center;z-index:2}
.scene-aweo .temps{position:absolute;left:0;right:0;bottom:9vh;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:980px;margin:0 auto;padding:0 24px;text-align:center}
.scene-aweo .temps div{display:flex;flex-direction:column;gap:8px}
.scene-aweo .temps b{font-family:var(--titre);font-weight:500;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--or-clair)}
.scene-aweo .temps span{font-family:var(--titre);font-weight:300;font-size:clamp(16px,1.5vw,20px);line-height:1.35;color:var(--argent-clair)}
.bientot{position:relative;padding:40px 0 128px;background:linear-gradient(180deg,#010f22,var(--bleu-profond))}
.bientot .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.bientot .cadre{font-family:var(--titre);font-weight:300;font-size:clamp(22px,2.3vw,28px);line-height:1.35;color:#fff}
.bientot .cadre small{display:block;margin-top:14px;font-family:var(--texte);font-size:14px;color:var(--douce-nuit)}
.attente{display:flex;flex-direction:column;gap:14px}
.attente .ligne{display:flex;gap:10px}
.attente input{flex:1;min-width:0;height:52px;border-radius:8px;border:1px solid rgba(194,202,214,.45);background:rgba(11,45,99,.45);color:#fff;padding:0 18px;font:inherit;font-size:15px}
.attente input::placeholder{color:var(--douce-nuit)}
.attente input:focus{outline:none;border-color:var(--or-clair)}
.attente .retour{font-size:14px;color:var(--or-clair);min-height:22px}
.attente .titre{font-family:var(--titre);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--argent-clair)}

/* Transformer */
.transformer{background:linear-gradient(180deg,var(--bleu-profond),var(--bleu) 55%,var(--bleu-profond))}
.montagne{position:relative;margin-top:72px;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:28px;align-items:stretch}
.montagne svg{width:100%;height:auto;display:block}
.montagne .cote{display:flex;flex-direction:column;justify-content:space-between;padding:6% 0}
.montagne .cote .bloc{display:flex;flex-direction:column;gap:8px}
.montagne .cote b{font-family:var(--titre);font-weight:200;font-size:clamp(34px,3.4vw,48px);line-height:1;color:#fff}
.montagne .cote .lib{font-family:var(--titre);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--or-clair)}
.montagne .cote p{font-size:14px;line-height:22px;color:var(--argent-clair)}
.montagne .droite{text-align:right}
.montagne .droite .bloc{align-items:flex-end}
.geometrie{margin:40px auto 0;text-align:center;max-width:720px;font-family:var(--titre);font-weight:300;font-size:clamp(20px,2vw,26px);line-height:1.4;color:#fff}
.terrains{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:96px}
.terrain{border:1px solid var(--filet-nuit);border-radius:4px;padding:28px 24px;display:flex;flex-direction:column;gap:12px;background:rgba(2,24,51,.4);transition:border-color .5s,transform .6s var(--ease)}
.terrain:hover{border-color:rgba(231,189,129,.55);transform:translateY(-4px)}
.terrain i{font-style:normal;font-family:var(--titre);font-weight:200;font-size:40px;line-height:1;color:var(--or)}
.terrain h3{font-size:20px}
.terrain p{font-size:14px;line-height:22px;color:var(--argent-clair)}
.maniere{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:72px}
.maniere div{border-top:1px solid rgba(194,202,214,.35);padding-top:18px}
.maniere b{display:block;font-family:var(--titre);font-weight:400;font-size:19px;color:#fff;margin-bottom:6px}
.maniere span{font-size:14px;line-height:22px;color:var(--douce-nuit)}
.transmettre{margin-top:72px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.transmettre .encart{display:flex;gap:18px;align-items:center;max-width:660px}
.transmettre .encart p{color:var(--argent-clair)}
.transmettre .encart strong{color:#fff;font-weight:500}

/* Lumière qui se lève */
.aube{position:relative;height:240px;background:linear-gradient(180deg,var(--bleu-profond) 0%,#3b4d6e 38%,#c9b48f 72%,var(--ivoire) 100%)}

/* Le groupe */
.groupe{background:var(--ivoire);color:var(--graphite);padding:110px 0 128px}
.groupe-grille{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;margin-top:64px}
#reseau{width:100%;height:auto;overflow:visible}
#reseau .lien-r{fill:none;stroke:#b9c1cc;stroke-width:1.2}
#reseau .noeud circle{fill:#fff;stroke:#c2cad6;stroke-width:1.2;transition:stroke .4s,fill .4s}
#reseau .noeud{cursor:pointer;outline:none}
#reseau .noeud text{font-family:var(--titre);fill:var(--bleu);text-anchor:middle}
#reseau .noeud .t1{font-size:17px;font-weight:500;letter-spacing:.1em}
#reseau .noeud .t2{font-size:11px;fill:var(--douce);letter-spacing:.06em}
#reseau .noeud.actif circle,#reseau .noeud:hover circle,#reseau .noeud:focus-visible circle{stroke:var(--or);fill:#fffaf1}
#reseau .noeud.centre circle{fill:var(--bleu);stroke:rgba(231,189,129,.6)}
#reseau .centre text{fill:#fff}
.fiche{min-height:230px;display:flex;flex-direction:column;gap:14px}
.fiche .t{font-family:var(--titre);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.fiche h3{font-size:clamp(24px,2.4vw,30px);line-height:1.25;font-weight:300}
.fiche p{color:var(--graphite);max-width:520px}
.fiche .mention{font-size:13px;color:var(--douce)}
.piliers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:96px}
.pilier{display:flex;flex-direction:column;gap:12px}
.pilier svg{width:44px;height:44px}
.pilier b{font-family:var(--titre);font-weight:400;font-size:18px;color:var(--bleu)}
.pilier span{font-size:14px;line-height:22px;color:var(--douce)}
.engagement{margin-top:96px;text-align:center;font-family:var(--titre);font-weight:200;font-size:clamp(28px,3.4vw,44px);line-height:1.2;color:var(--bleu)}

/* Rencontre */
.rencontre{background:radial-gradient(60% 70% at 70% 60%,#fff 0%,rgba(255,255,255,0) 70%),linear-gradient(180deg,var(--ivoire),var(--bleu-lumiere));color:var(--graphite);padding:128px 0 150px}
.rencontre .grille{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.portes{display:flex;flex-direction:column;gap:12px}
.porte{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;background:#fff;border:1px solid var(--gris);border-radius:4px;padding:20px 22px;font:inherit;color:var(--bleu);cursor:pointer;transition:border-color .4s,box-shadow .4s,transform .5s var(--ease)}
.porte b{font-family:var(--titre);font-weight:400;font-size:17px}
.porte small{display:block;font-size:13px;color:var(--douce);margin-top:2px}
.porte .rond{flex:none;width:20px;height:20px;border-radius:50%;border:1px solid #b9c1cc;display:grid;place-items:center;transition:border-color .4s}
.porte .rond::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--or);transform:scale(0);transition:transform .4s var(--ease)}
.porte:hover{border-color:#d8c3a0;transform:translateX(4px)}
.porte[aria-pressed="true"]{border-color:var(--or);box-shadow:0 10px 30px -18px rgba(200,154,86,.8)}
.porte[aria-pressed="true"] .rond{border-color:var(--or)}
.porte[aria-pressed="true"] .rond::after{transform:scale(1)}
.coord{margin-top:30px;display:flex;flex-direction:column;gap:22px}
.coord .ligne{display:flex;gap:40px;flex-wrap:wrap}
.coord .lab{font-family:var(--titre);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.coord .val{font-family:var(--titre);font-size:20px;color:var(--bleu);margin-top:4px;user-select:all}
#ecrire{position:relative}

/* Pied */
footer{background:var(--bleu-profond);padding:56px 0 40px;font-size:13px;line-height:20px;color:var(--douce-nuit)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
footer img{height:40px;width:auto}
footer a{text-decoration:none}
footer a:hover{color:var(--or-clair)}

/* Curseur spark */
#curseur{position:fixed;left:0;top:0;z-index:90;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--or-lumiere);pointer-events:none;opacity:0;box-shadow:0 0 12px 3px rgba(231,189,129,.6);transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,opacity .4s}
#curseur.grand{width:42px;height:42px;margin:-21px 0 0 -21px;background:rgba(243,215,160,.12);box-shadow:inset 0 0 0 1px rgba(231,189,129,.8)}

/* Révélations */
.rv{opacity:0;transform:translateY(28px)}
.sans-anim .rv{opacity:1;transform:none}

/* Prototype */
.proto{position:fixed;right:16px;bottom:16px;z-index:60;font-family:var(--titre);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--douce-nuit);background:rgba(2,24,51,.75);border:1px solid var(--filet-nuit);border-radius:8px;padding:8px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* Responsive */
@media (max-width:1000px){
  :root{--marge:24px}
  .nav{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:28px;background:rgba(2,24,51,.97);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
  .menu-ouvert .nav{opacity:1;visibility:visible}
  .nav a.lien{font-size:24px;font-weight:300}
  .burger{display:block;position:relative;z-index:2}
  .top .wrap{height:68px}.top .logo img{height:34px}
  .univers{padding:96px 0}
  .vitrine,.groupe-grille,.rencontre .grille,.bientot .wrap{grid-template-columns:minmax(0,1fr);gap:40px}
  .chiffres{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .niveaux{grid-template-columns:1fr;gap:12px}
  .niveau:nth-child(n){margin-bottom:0;margin-left:calc((var(--i) - 1)*14px)}
  .niveaux .marche{display:none}
  .terrains{grid-template-columns:repeat(2,minmax(0,1fr))}
  .maniere,.piliers{grid-template-columns:1fr 1fr}
  .montagne{grid-template-columns:1fr;gap:20px}
  .montagne .cote{flex-direction:row;gap:20px;padding:0}
  .montagne .droite{text-align:left}.montagne .droite .bloc{align-items:flex-start}
  .trois .piste{flex-direction:column;width:auto;padding:96px var(--marge)}
  .trois .intro{width:auto;padding:0 0 12px}
  .panneau{width:100%;height:72vh;max-height:560px}
  .panneau .txt{left:24px;right:24px;bottom:28px}
  .scene-aweo .temps{grid-template-columns:1fr;gap:14px;bottom:6vh}
  .scene-aweo .haut{top:90px}
  .proto{display:none}
  .top.plein{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(2,24,51,.96)}
}
@media (max-width:560px){
  .terrains,.maniere,.piliers{grid-template-columns:1fr}
  .chiffre b{font-size:44px}
  .hero .contenu{padding-top:110px}
  .actions .btn{width:100%;justify-content:center}
  .attente .ligne{flex-direction:column}
  .attente .btn{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}

/* ===== Ajouts v2 ===== */

/* Fil d'or : deux régimes */
.fil .base{transition:opacity .9s var(--ease)}
.fil .queue{display:none;fill:none;stroke:url(#gradOr);stroke-width:1.8;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(231,189,129,.7))}
.fil.fond .base{opacity:.07}
.light .fil.fond .base{opacity:.14}
.fil.fond .queue{display:block}
.fil.fond.revele .base{opacity:1}
.light .fil.fond.revele .base{opacity:.8}

/* Manifeste : l'étincelle et l'idée centrale */
.manifeste .b2{display:flex;flex-direction:column;align-items:center;gap:34px}
.manifeste .b2 .spark{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(243,215,160,.4),0 0 30px 12px rgba(231,189,129,.75),0 0 90px 34px rgba(200,154,86,.35)}
.manifeste .b2 p{max-width:820px;font-family:var(--titre);font-weight:200;font-size:clamp(28px,3.6vw,48px);line-height:1.18;color:#fff}

/* Voile de transition entre pages */
#voile{position:fixed;inset:0;z-index:120;background:linear-gradient(160deg,var(--nuit-haut),var(--bleu) 50%,var(--bleu-profond));pointer-events:none;transform:translateY(0);animation:voileSort .9s .05s cubic-bezier(.7,0,.2,1) forwards}
#voile .pt{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(243,215,160,.4),0 0 26px 10px rgba(231,189,129,.7)}
#voile.entre{animation:none;transform:translateY(100%)}
@keyframes voileSort{to{transform:translateY(-100%)}}
.accueil #voile{display:none}

/* En-tête de page */
.hero > .wrap,.page-hero > .wrap{width:100%}
.page-hero{min-height:92vh;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(160deg,var(--nuit-haut) 0%,var(--bleu) 48%,var(--bleu-profond) 100%)}
.page-hero .fond-photo{position:absolute;inset:0;z-index:0}
.page-hero .fond-photo img{width:100%;height:115%;object-fit:cover;opacity:.55;will-change:transform}
.page-hero .fond-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bleu-profond) 0%,rgba(2,24,51,.75) 45%,rgba(2,24,51,.45) 100%)}
.page-hero .contenu{padding:180px 0 140px;max-width:900px}
.page-hero h1{margin:26px 0 26px}
.page-hero .num-sec{display:block;margin-bottom:6px}

/* Grilles et blocs génériques */
.nuit{background:var(--bleu-profond)}
.nuit-b{background:linear-gradient(180deg,var(--bleu-profond),var(--bleu))}
.ivoire{background:var(--ivoire);color:var(--graphite)}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:64px}
.cols4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:64px}
.carte-l{border-top:1px solid var(--or);padding-top:20px;display:flex;flex-direction:column;gap:12px}
.carte-l h3{font-size:21px;line-height:28px}
.carte-l ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.carte-l li{position:relative;padding-left:18px;font-size:15px;line-height:24px;color:var(--argent-clair)}
.carte-l li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--or-clair)}
.light .carte-l li{color:var(--graphite)}
.light .carte-l li::before{background:var(--or)}
.carte-l p{font-size:15px;line-height:24px;color:var(--argent-clair)}
.light .carte-l p{color:var(--graphite)}
.cles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:8px}
.cles .chiffre b{font-size:clamp(36px,3.4vw,46px)}
.temoins{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;margin-top:72px}
.temoins figure{margin:0;border:1px solid var(--filet-nuit);border-radius:4px;padding:28px 26px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;background:rgba(2,24,51,.35)}
.temoins figure:first-child{background:var(--relief);border-color:transparent}
.temoins q{font-family:var(--titre);font-weight:300;font-size:18px;line-height:28px;color:#fff;quotes:"« " " »"}
.temoins figure:first-child q{font-size:22px;line-height:32px;quotes:none}
.temoins cite{font-style:normal;font-size:13px;color:var(--douce-nuit)}
.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:64px}
.services div{display:flex;flex-direction:column;gap:10px}
.services b{font-family:var(--titre);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--or-clair)}
.services p{font-size:14px;line-height:22px;color:var(--argent-clair)}
.boutons{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}

/* Tableau des modèles */
.tableau{margin-top:56px;overflow-x:auto;border-radius:4px;border:1px solid var(--gris);background:#fff}
.tableau table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px;line-height:21px}
.tableau th,.tableau td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--gris)}
.tableau thead th{background:var(--bleu);color:#fff;font-family:var(--titre);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.tableau thead th:last-child{color:var(--or-clair)}
.tableau tbody th{background:var(--ivoire);color:var(--bleu);font-weight:600;width:170px}
.tableau tr:last-child th,.tableau tr:last-child td{border-bottom:0}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.duo div{border-radius:4px;padding:24px 26px;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:24px}
.duo div:first-child{background:#fff;border:1px solid var(--gris)}
.duo div:last-child{background:var(--bleu-lumiere)}
.duo b{font-family:var(--titre);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}

/* Méthode */
.methode{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:72px}
.methode .ligne-m{position:absolute;left:0;right:0;top:20px;height:1px;background:linear-gradient(90deg,var(--or-lumiere),var(--or));transform-origin:left}
.etape-m{position:relative;display:flex;flex-direction:column;gap:10px;padding-right:8px}
.etape-m i{font-style:normal;position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--or);font-family:var(--titre);font-weight:500;color:var(--accent)}
.etape-m:last-child i{background:linear-gradient(135deg,var(--or-lumiere),var(--or));border:0;color:var(--bleu-profond)}
.etape-m h3{font-size:18px;line-height:25px;margin-top:8px}
.etape-m p{font-size:14px;line-height:22px;color:var(--graphite)}
.etape-m small{font-family:var(--titre);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.difference{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:72px}
.difference div{border-top:1px solid var(--or);padding-top:16px;font-size:15px;line-height:24px}
.difference b{display:block;font-family:var(--titre);font-weight:400;font-size:18px;color:var(--bleu);margin-bottom:6px}
.encadre{margin-top:96px;display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;padding:48px;border-radius:4px;background:#fff;border:1px solid var(--gris)}
.encadre ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 28px}
.encadre li{position:relative;padding-left:18px;font-size:15px;line-height:23px}
.encadre li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--or)}

/* Liste d'attente AWEO : un champ unique, à la manière des boutons du site */
.attente .ligne{display:flex;align-items:center;gap:8px;height:72px;padding:8px 8px 8px 24px;border-radius:8px;border:1px solid rgba(194,202,214,.32);background:linear-gradient(100deg,rgba(11,45,99,.55),rgba(6,35,83,.25));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .5s var(--ease),box-shadow .5s var(--ease)}
.attente .ligne:focus-within{border-color:rgba(231,189,129,.8);box-shadow:0 0 0 4px rgba(231,189,129,.12),0 18px 40px -24px rgba(200,154,86,.7)}
.attente input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:#fff;padding:0;font-family:var(--texte);font-size:16px;font-weight:300;letter-spacing:.01em}
.attente input:focus{outline:none;border:0}
.attente input::placeholder{color:var(--douce-nuit)}
.attente .ligne .btn{height:56px;padding:0 24px;flex:none}
.attente .titre{display:flex;align-items:center;gap:14px}
.attente .titre::before{content:"";width:36px;height:2px;background:linear-gradient(90deg,var(--or-lumiere),var(--or))}

/* Célébrer : croyances */
.croyances{padding:140px 0 60px;background:#010f22}
.croyances .wrap{display:flex;flex-direction:column;gap:clamp(56px,9vh,110px)}
.croyance{font-family:var(--titre);font-weight:200;font-size:clamp(30px,4.4vw,60px);line-height:1.14;color:#fff;max-width:980px}
.croyance:nth-child(2){align-self:flex-end;text-align:right}
.croyance:nth-child(3){align-self:center;text-align:center}
#aweoLogo{position:absolute;left:50%;top:46%;z-index:2;width:min(46vw,520px);height:auto;transform:translate(-50%,-50%);opacity:0;pointer-events:none}

/* Transformer */
.conditions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:64px}
.condition{display:flex;flex-direction:column;gap:12px;padding:28px 24px;border-radius:4px;background:rgba(11,45,99,.5);border:1px solid var(--filet-nuit)}
.condition i{font-style:normal;font-family:var(--titre);font-weight:200;font-size:44px;line-height:1;color:var(--or)}
.condition h3{font-size:19px;line-height:26px}
.condition p{font-size:14px;line-height:22px;color:var(--argent-clair)}
.lecture{margin-top:40px;max-width:820px;font-family:var(--titre);font-weight:300;font-size:clamp(20px,2vw,24px);line-height:1.45;color:#fff}
.lecture b{font-weight:400;color:var(--or-clair)}
.terrain ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.terrain li{position:relative;padding-left:16px;font-size:13px;line-height:20px;color:var(--douce-nuit)}
.terrain li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--or)}
.formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px}
.format{background:#fff;border:1px solid var(--gris);border-radius:4px;padding:28px 26px;display:flex;flex-direction:column;gap:10px}
.format svg{width:44px;height:44px}
.format h3{font-size:20px}
.format p{font-size:15px;line-height:24px;color:var(--graphite)}
.appel{margin-top:96px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;padding:44px 48px;border-radius:4px;background:linear-gradient(110deg,var(--bleu),var(--relief));color:#fff}
.appel p{font-family:var(--titre);font-weight:300;font-size:clamp(22px,2.4vw,30px);line-height:1.3;max-width:640px}

/* Le groupe */
.metiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px}
.metier{background:#fff;border:1px solid var(--gris);border-radius:4px;padding:32px 28px;display:flex;flex-direction:column;gap:14px;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.metier:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(1,19,66,.12),0 8px 24px rgba(1,19,66,.10)}
.metier i{font-style:normal;font-family:var(--titre);font-weight:200;font-size:44px;line-height:1;color:var(--accent)}
.metier h3{font-size:22px}
.metier p{font-size:15px;line-height:24px}
.metier ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--gris);padding-top:14px}
.metier li{position:relative;padding-left:16px;font-size:14px;line-height:22px;color:var(--douce)}
.metier li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--or)}
.vision{padding:150px 0}
.vision .grand{font-family:var(--titre);font-weight:200;font-size:clamp(32px,4.4vw,60px);line-height:1.12;color:#fff;max-width:1000px;margin-top:26px}
.vision .chapo{margin-top:30px}
.avenir{margin-top:96px;display:flex;gap:28px;align-items:center;padding:36px 40px;border-radius:4px;border:1px dashed #c9b48f}
.avenir p{font-size:16px;line-height:26px}
.avenir strong{display:block;font-family:var(--titre);font-weight:400;font-size:20px;color:var(--bleu);margin-bottom:4px}

/* Mentions légales */
.texte-legal{padding:160px 0 120px;background:var(--ivoire);color:var(--graphite)}
.texte-legal .wrap{max-width:860px}
.texte-legal h1{font-size:clamp(36px,4vw,48px);margin:22px 0 48px}
.texte-legal h2{font-size:24px;line-height:32px;margin:48px 0 14px}
.texte-legal p,.texte-legal li{font-size:16px;line-height:27px}
.texte-legal ul{padding-left:20px}
.texte-legal .a-completer{background:#fdf1dd;border-radius:3px;padding:0 4px}

@media (max-width:1000px){
  .cols3,.cols4,.services,.conditions,.metiers,.formats,.difference{grid-template-columns:1fr 1fr}
  .temoins{grid-template-columns:1fr}
  .cles{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .methode{grid-template-columns:1fr;gap:26px}
  .methode .ligne-m{left:20px;right:auto;top:0;bottom:0;width:1px;height:auto;transform-origin:top}
  .etape-m{flex-direction:row;flex-wrap:wrap;gap:6px 18px}
  .etape-m > div{flex:1;min-width:0}
  .encadre{grid-template-columns:1fr;padding:32px 26px}
  .duo{grid-template-columns:1fr}
  .page-hero .contenu{padding:140px 0 110px}
  .croyance:nth-child(n){align-self:flex-start;text-align:left}
  .appel{padding:32px 26px}
  .avenir{flex-direction:column;align-items:flex-start;padding:28px}
  .montagne .cote b{font-size:30px}
}
@media (max-width:560px){
  .cols3,.cols4,.services,.conditions,.metiers,.formats,.difference,.encadre ul{grid-template-columns:1fr}
  .cles .chiffre b{font-size:30px}
  .attente .ligne{height:auto;flex-direction:column;align-items:stretch;padding:8px}
  .attente input{height:52px;padding:0 14px}
  .attente .ligne .btn{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  #voile{display:none}
}
