:root{
 --nuit:#0A090C; --encre:#121016; --ardoise:#1B1820; --ivoire:#ECE4D3; --cendre:#A39B8C; --brume:#6F685E;
 --or:#C9A961; --or-clair:#E4CC8E; --or-sombre:#8C6F3B; --filet:rgba(201,169,97,.24); --filet-fort:rgba(201,169,97,.5);
 --eaux:#4A7A93; --feu:#A2483A; --souffle:#A7B3C6; --terre:#6E7A4E;
 --display:"Cormorant Garamond",Georgia,serif; --caps:"Cinzel","Cormorant SC",serif; --texte:"EB Garamond",Georgia,serif; 
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--nuit)}
body{background:var(--nuit) url(assets/papier.png?v=4c32c2e5d2) repeat; background-size:384px; color:var(--ivoire); font-family:var(--texte); font-size:19px; line-height:1.65; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; font-feature-settings:"liga","onum"}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 48px}
.label{font-family:var(--caps);font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--or)}
.label .num{color:var(--or-clair);margin-right:.6em}
h1,h2,h3{font-family:var(--display);font-weight:500;color:var(--ivoire);letter-spacing:.005em}
h2{font-size:58px;line-height:1.06}
h2 em,h1 em{font-style:italic;color:var(--or-clair);font-weight:400}
p{color:#D9D0BF}
.muted{color:var(--cendre)}
.filet{display:block;width:240px;height:14px;margin:26px auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 34px;font-family:var(--caps);font-size:13px;letter-spacing:.24em;text-transform:uppercase;border-radius:1px;transition:.2s;white-space:nowrap}
.btn-or{background:linear-gradient(180deg,#D8BC7A 0%,#C9A961 45%,#B39250 100%);color:#15110A;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,240,200,.45),0 0 0 1px #8C6F3B,0 10px 30px -12px rgba(201,169,97,.45)}
.btn-or::before,.btn-or::after{content:"";width:5px;height:5px;transform:rotate(45deg);background:#15110A;opacity:.75}
.btn-ligne{border:1px solid var(--filet-fort);color:var(--or-clair);background:rgba(10,9,12,.35)}
.btn-lien{height:auto;padding:0 0 6px;border-bottom:1px solid var(--filet-fort);color:var(--or-clair)}
.btn-scelle{border:1px dashed rgba(140,111,59,.6);color:var(--or-sombre);background:transparent;cursor:default}
.lock{width:13px;height:15px}
/* nav */
.nav{position:relative;z-index:5;border-bottom:1px solid var(--filet)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:88px}
.wm-mini{display:flex;align-items:center;gap:14px}
.wm-mini .x{font-family:var(--caps);font-size:24px;letter-spacing:.2em;color:var(--or)}
.wm-mini .t{font-family:var(--caps);font-size:10.5px;letter-spacing:.38em;color:var(--cendre);border-left:1px solid var(--filet);padding-left:14px;line-height:1.5}
.nav ul{display:flex;gap:30px;list-style:none;font-family:var(--caps);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--cendre)}
.nav ul a.on{color:var(--or-clair)}
.nav .btn{height:44px;padding:0 22px;font-size:11.5px}
.burger{display:none;width:26px;height:14px;border-top:1px solid var(--or);border-bottom:1px solid var(--or);position:relative}
.burger::after{content:"";position:absolute;left:6px;right:0;top:6px;border-top:1px solid var(--or)}
/* hero */
.hero{position:relative;overflow:hidden;text-align:center;padding:96px 0 120px;
 background:radial-gradient(ellipse 60% 55% at 50% 42%,rgba(201,169,97,.10),transparent 70%),radial-gradient(ellipse 120% 90% at 50% 40%,transparent 50%,rgba(0,0,0,.6) 100%)}
.hero .tree-bg{position:absolute;left:50%;top:22px;height:940px;transform:translateX(-50%);opacity:.085;pointer-events:none}
.hero .wrap{position:relative}
.hero .label{display:block;margin-bottom:38px}
.wordmark .xxii{font-family:var(--caps);font-weight:400;font-size:176px;line-height:.9;letter-spacing:.14em;margin-right:-.14em;color:var(--or);
 background:linear-gradient(180deg,#EDD9A1 0%,#C9A961 52%,#9C7C43 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 40px rgba(201,169,97,.18))}
.wordmark .rules{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:26px}
.wordmark .rules i{display:block;height:1px;width:110px;background:linear-gradient(90deg,transparent,var(--or))}
.wordmark .rules i:last-child{background:linear-gradient(90deg,var(--or),transparent)}
.wordmark .lt{font-family:var(--caps);font-size:24px;letter-spacing:.52em;margin-right:-.52em;color:var(--ivoire)}
.wordmark .voie{font-family:var(--display);font-style:italic;font-size:30px;color:var(--or-clair);margin-top:12px}
.hero .intro{max-width:640px;margin:34px auto 0;font-size:21px;color:#D9D0BF}
.hero .intro strong{font-weight:500;color:var(--ivoire)}
.ctas{display:flex;gap:18px;justify-content:center;align-items:center;margin-top:44px}
/* sections */
section{position:relative}
.sec{padding:130px 0;border-top:1px solid var(--filet)}
.sec-head{text-align:center;max-width:760px;margin:0 auto 70px}
.sec-head .label{display:block;margin-bottom:22px}
.sec-head p{margin-top:22px;font-size:20px}
/* mythe */
.mythe .wrap{display:grid;grid-template-columns:1fr 560px;gap:70px;align-items:center}
.mythe .label{display:block;margin-bottom:22px}
.mythe p{margin-top:22px;font-size:20px}
.mythe .incipit{font-family:var(--display);font-style:italic;font-size:30px;line-height:1.35;color:var(--ivoire);margin-top:28px}
.mythe .incipit::first-letter{font-family:var(--caps);font-style:normal;font-size:74px;float:left;line-height:.8;margin:6px 12px 0 0;color:var(--or)}
.ring22{width:100%;height:auto}
.legende{display:flex;gap:26px;margin-top:30px;font-family:var(--caps);font-size:11px;letter-spacing:.2em;color:var(--cendre)}
.legende b{color:var(--or-clair);font-weight:400;font-family:var(--hebreu);font-size:18px;letter-spacing:0;margin-right:6px}
/* maisons */
.maisons{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.maison{position:relative;border:1px solid var(--filet);background:linear-gradient(180deg,rgba(27,24,32,.65),rgba(18,16,22,.4));padding:40px 28px 34px;text-align:center;display:flex;flex-direction:column;align-items:center}
.maison::before{content:"";position:absolute;inset:7px;border:1px solid rgba(201,169,97,.08);pointer-events:none}
.maison .seal{width:150px;height:150px}
.maison .seal.is-sealed{opacity:.55}
.maison .etat{font-family:var(--caps);font-size:10.5px;letter-spacing:.3em;margin:26px 0 10px;display:flex;align-items:center;gap:8px;color:var(--or-sombre)}
.maison h3{font-size:31px;line-height:1.1}
.maison .el{font-family:var(--caps);font-size:11px;letter-spacing:.24em;color:var(--cendre);margin-top:10px}
.maison .dom{font-size:17.5px;color:var(--cendre);margin-top:16px;line-height:1.5;min-height:52px}
.maison .form{margin-top:22px;padding-top:20px;border-top:1px solid var(--filet);width:100%}
.maison .form small{display:block;font-family:var(--caps);font-size:10px;letter-spacing:.26em;color:var(--brume)}
.maison .form span{display:block;font-family:var(--display);font-style:italic;font-size:23px;color:var(--cendre);margin-top:4px}
.maison .bottom{margin-top:26px;font-size:15.5px;color:var(--brume);font-style:italic;line-height:1.45}
.maison.ouverte{border-color:var(--filet-fort);background:radial-gradient(ellipse 90% 50% at 50% 18%,rgba(167,179,198,.12),transparent 70%),linear-gradient(180deg,rgba(32,29,38,.92),rgba(18,16,22,.7));box-shadow:0 30px 80px -40px rgba(201,169,97,.35)}
.maison.ouverte::before{border-color:rgba(201,169,97,.2)}
.maison.ouverte .etat{color:var(--or-clair)}
.maison.ouverte .etat i{width:6px;height:6px;border-radius:50%;background:var(--or-clair);box-shadow:0 0 10px var(--or)}
.maison.ouverte .form span{color:var(--or-clair)}
.maison.ouverte .prix{font-family:var(--display);font-size:22px;color:var(--ivoire);margin-top:4px}
.maison.ouverte .btn{margin-top:22px;height:48px;padding:0 22px;font-size:11.5px;width:100%}
.maison.scellee h3{color:#BDB4A3}
/* voie / grades */
.voie-chiffres{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--filet);margin-bottom:70px}
.voie-chiffres>div{padding:36px 30px;text-align:center}
.voie-chiffres>div+div{border-left:1px solid var(--filet)}
.voie-chiffres .n{font-family:var(--display);font-size:64px;line-height:1;color:var(--or)}
.voie-chiffres .heb{font-family:var(--hebreu);font-size:22px;color:var(--or-clair);letter-spacing:.2em;margin-top:12px}
.voie-chiffres .t{font-family:var(--caps);font-size:11.5px;letter-spacing:.24em;color:var(--ivoire);margin-top:12px}
.voie-chiffres .a{font-size:16px;color:var(--cendre);font-style:italic;margin-top:4px}
.grades{display:grid;grid-template-columns:1fr 1.25fr .9fr 1fr;gap:0;border-top:1px solid var(--filet)}
.grades>div{padding:34px 26px 10px}
.grades>div+div{border-left:1px solid var(--filet)}
.grades h4{font-family:var(--caps);font-weight:400;font-size:13px;letter-spacing:.24em;color:var(--or)}
.grades ul{list-style:none;margin-top:18px}
.grades li{display:flex;gap:14px;align-items:baseline;padding:7px 0;font-size:18px;color:#D9D0BF}
.grades li b{font-family:var(--caps);font-weight:400;font-size:12px;letter-spacing:.08em;color:var(--or-sombre);min-width:34px}
.grades li.vide{color:var(--brume);font-style:italic}
.grades .cache{background:repeating-linear-gradient(135deg,transparent 0 9px,rgba(201,169,97,.035) 9px 10px)}
.grades .cache p{font-size:17px;color:var(--cendre);font-style:italic;margin-top:18px;line-height:1.5}
.sous-grades{text-align:center;margin-top:50px;font-family:var(--display);font-style:italic;font-size:26px;color:var(--ivoire)}
/* regles */
.regles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.regle{padding:44px 34px;border:1px solid var(--filet);text-align:center;background:rgba(18,16,22,.5)}
.regle .r{font-family:var(--caps);color:var(--or);font-size:15px;letter-spacing:.2em}
.regle blockquote{font-family:var(--display);font-style:italic;font-size:29px;line-height:1.22;color:var(--ivoire);margin-top:20px}
.regle p{font-size:17px;color:var(--cendre);margin-top:18px;line-height:1.55}
/* bateleur */
.bateleur .wrap{display:grid;grid-template-columns:400px 1fr;gap:90px;align-items:center}
.arcane{aspect-ratio:3/5;border:1px solid var(--filet-fort);padding:14px;background:linear-gradient(180deg,#17141B,#0E0C10)}
.arcane .in{height:100%;border:1px solid var(--filet);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px 0;position:relative;overflow:hidden}
.arcane .num{font-family:var(--caps);font-size:30px;color:var(--or);letter-spacing:.2em}
.arcane .heb{font-family:var(--hebreu);font-size:150px;line-height:1;color:var(--or);opacity:.9}
.arcane .nom{font-family:var(--caps);font-size:15px;letter-spacing:.42em;color:var(--ivoire);margin-right:-.42em}
.arcane .tree-in{position:absolute;height:88%;top:6%;left:50%;transform:translateX(-50%);opacity:.07}
.bateleur h2{margin-top:20px}
.bateleur p{margin-top:22px;font-size:20px}
.conseil{display:flex;gap:6px;margin-top:36px;flex-wrap:wrap}
.conseil span{width:30px;height:30px;border:1px solid var(--filet);display:grid;place-items:center;font-family:var(--caps);font-size:9.5px;color:var(--brume)}
.conseil span.moi{border-color:var(--or);color:#15110A;background:var(--or)}
.conseil span.vide{border-style:dashed;color:transparent}
.conseil-leg{font-size:15.5px;color:var(--brume);font-style:italic;margin-top:12px}
/* lettre */
.lettre{padding:140px 0;border-top:1px solid var(--filet);background:radial-gradient(ellipse 50% 60% at 50% 50%,rgba(201,169,97,.07),transparent 70%)}
.missive{max-width:780px;margin:0 auto;text-align:center;border:1px solid var(--filet-fort);padding:70px 70px 60px;position:relative;background:linear-gradient(180deg,rgba(27,24,32,.85),rgba(14,12,16,.85))}
.missive::before{content:"";position:absolute;inset:8px;border:1px solid var(--filet);pointer-events:none}
.missive .monogram{width:96px;height:96px;margin:0 auto 26px;display:block}
.missive h2{font-size:56px}
.missive p{margin:20px auto 0;max-width:540px;font-size:19.5px}
.champ{display:flex;margin:40px auto 0;max-width:560px;border:1px solid var(--filet-fort)}
.champ input{flex:1;background:transparent;border:0;padding:0 22px;height:56px;font-family:var(--texte);font-size:18px;color:var(--ivoire);font-style:italic;outline:0}
.champ input::placeholder{color:var(--brume)}
.champ .btn{border-radius:0;box-shadow:none}
.missive .fine{font-size:14.5px;color:var(--brume);margin-top:18px;font-style:italic}
/* footer */
footer{border-top:1px solid var(--filet);padding:70px 0 50px;font-size:15.5px;color:var(--cendre)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
footer h5{font-family:var(--caps);font-weight:400;font-size:11px;letter-spacing:.28em;color:var(--or);margin-bottom:16px}
footer ul{list-style:none;line-height:2}
footer .avert{margin-top:56px;padding-top:26px;border-top:1px solid var(--filet);display:flex;justify-content:space-between;gap:30px;font-size:14px;color:var(--brume)}
footer .sign{font-family:var(--caps);letter-spacing:.32em;font-size:12px;color:var(--cendre)}
/* sigils page */
.vhero{position:relative;overflow:hidden;padding:70px 0 110px;background:radial-gradient(ellipse 50% 70% at 78% 45%,rgba(167,179,198,.10),transparent 70%),radial-gradient(ellipse 120% 100% at 50% 30%,transparent 55%,rgba(0,0,0,.55) 100%)}
.fil{font-family:var(--caps);font-size:11px;letter-spacing:.26em;color:var(--brume);margin-bottom:60px}
.fil b{color:var(--or);font-weight:400}
.vhero .wrap{position:relative}
.vgrid{display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--filet-fort);padding:8px 16px;font-family:var(--caps);font-size:10.5px;letter-spacing:.28em;color:var(--or-clair)}
.badge i{width:6px;height:6px;border-radius:50%;background:var(--or-clair);box-shadow:0 0 10px var(--or)}
.vhero h1{font-size:118px;line-height:.95;margin-top:30px;font-weight:500}
.vhero h1 .amp{font-style:italic;color:var(--or);font-weight:400;padding:0 .04em}
.vhero .sous{font-family:var(--display);font-style:italic;font-size:31px;line-height:1.3;color:var(--or-clair);margin-top:24px;max-width:560px}
.vhero .pitch{font-size:20px;margin-top:26px;max-width:560px}
.prixbloc{display:flex;align-items:center;gap:28px;margin-top:40px;padding-top:30px;border-top:1px solid var(--filet);max-width:600px}
.prixbloc .p{font-family:var(--display);font-size:60px;line-height:1;color:var(--ivoire)}
.prixbloc .p sup{font-size:.45em;color:var(--or);margin-left:4px;vertical-align:.9em}
.prixbloc .c{font-size:16.5px;color:var(--cendre);line-height:1.45;font-style:italic;border-left:1px solid var(--filet);padding-left:24px}
.vhero .ctas{justify-content:flex-start;margin-top:34px}
.embleme{position:relative;height:620px}
.embleme .seal{position:absolute;width:520px;height:520px;left:50%;top:50%;transform:translate(-50%,-50%)}
.embleme .sigil{position:absolute;height:250px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.0}
.embleme .halo{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(167,179,198,.14),transparent 55%)}
.embleme .heb-bg{position:absolute;right:-30px;bottom:-10px;font-family:var(--hebreu);font-size:300px;line-height:1;color:var(--or);opacity:.05}
.faits{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.faits>div{padding:30px 10px;text-align:center}
.faits>div+div{border-left:1px solid var(--filet)}
.faits .n{font-family:var(--display);font-size:40px;color:var(--or);line-height:1}
.faits .t{font-family:var(--caps);font-size:10.5px;letter-spacing:.2em;color:var(--cendre);margin-top:10px;line-height:1.6}
.promesse .wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px}
.promesse blockquote{font-family:var(--display);font-style:italic;font-size:44px;line-height:1.18;color:var(--ivoire);margin-top:24px}
.promesse blockquote em{color:var(--or-clair)}
.promesse .note{margin-top:28px;font-size:19px}
.savoirs{list-style:none;counter-reset:s}
.savoirs li{counter-increment:s;display:grid;grid-template-columns:64px 1fr;padding:24px 0;border-top:1px solid var(--filet)}
.savoirs li:last-child{border-bottom:1px solid var(--filet)}
.savoirs li::before{content:counter(s,upper-roman);font-family:var(--caps);font-size:16px;color:var(--or);padding-top:4px}
.savoirs h4{font-family:var(--display);font-weight:500;font-size:26px;line-height:1.2;color:var(--ivoire)}
.savoirs p{font-size:17.5px;color:var(--cendre);margin-top:6px;line-height:1.55}
.recois{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.objet{border:1px solid var(--filet);padding:36px 32px 34px;background:linear-gradient(180deg,rgba(27,24,32,.6),rgba(14,12,16,.4));position:relative}
.objet .ico{width:40px;height:40px}
.objet .k{position:absolute;top:30px;right:30px;font-family:var(--caps);font-size:10.5px;letter-spacing:.24em;color:var(--brume)}
.objet h4{font-family:var(--display);font-weight:500;font-size:28px;color:var(--ivoire);margin-top:22px;line-height:1.15}
.objet p{font-size:17.5px;color:var(--cendre);margin-top:12px;line-height:1.55}
.objet.phare{border-color:var(--filet-fort)}
/* séance commentée */
.seance{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.seance .label{display:block;margin-bottom:20px}
.seance p{margin-top:20px;font-size:19.5px}
.page-doc{background:#F1EADB;color:#2A241C;padding:46px 0 40px 48px;box-shadow:0 40px 90px -30px rgba(0,0,0,.8),0 0 0 1px rgba(201,169,97,.3);display:grid;grid-template-columns:1fr 170px;column-gap:26px;font-family:var(--texte);transform:rotate(-1.2deg)}
.page-doc .ent{grid-column:1/-1;display:flex;justify-content:space-between;font-family:var(--caps);font-size:9.5px;letter-spacing:.24em;color:#8C6F3B;border-bottom:1px solid rgba(140,111,59,.35);padding-bottom:12px;margin:0 48px 22px 0}
.page-doc .rep{font-size:15px;line-height:1.55;margin-bottom:12px}
.page-doc .rep b{font-family:var(--caps);font-weight:400;font-size:10px;letter-spacing:.18em;color:#8C6F3B;display:block}
.page-doc mark{background:linear-gradient(transparent 55%,rgba(201,169,97,.38) 55%);color:inherit}
.page-doc .marge{border-left:1px solid rgba(140,111,59,.45);padding:0 22px 0 16px;font-family:var(--display);font-style:italic;font-size:14.5px;line-height:1.35;color:#7A5F2E}
.page-doc .marge div+div{margin-top:22px}
.page-doc .marge span{font-family:var(--caps);font-style:normal;font-size:9px;letter-spacing:.2em;display:block;margin-bottom:3px;color:#A2483A}
.suite{text-align:center;padding:90px 0 110px;border-top:1px solid var(--filet)}
.suite .label{display:block}
.suite h2{margin-top:18px}
.suite .chap{display:flex;justify-content:center;gap:12px;margin-top:36px;flex-wrap:wrap}
.suite .chap span{width:46px;height:46px;border:1px solid var(--filet);display:grid;place-items:center;font-family:var(--caps);font-size:13px;color:var(--or)}
.legal-note{font-size:14.5px;color:var(--brume);font-style:italic;text-align:center;margin-top:40px}

/* ---------- mobile ---------- */
@media (max-width:760px){
 body{font-size:17.5px}
 .wrap{padding:0 24px}
 .nav .wrap{height:68px}.nav ul,.nav .btn{display:none}.burger{display:block}
 .wm-mini .x{font-size:20px}.wm-mini .t{font-size:8.5px;letter-spacing:.3em;padding-left:10px}
 h2{font-size:40px}
 .label{font-size:10.5px;letter-spacing:.26em}
 .hero{padding:64px 0 84px}
 .hero .tree-bg{height:640px;top:30px}
 .hero .label{margin-bottom:28px;line-height:1.9}
 .wordmark .xxii{font-size:96px}
 .wordmark .rules{gap:12px;margin-top:20px}.wordmark .rules i{width:34px}
 .wordmark .lt{font-size:14px;letter-spacing:.42em;margin-right:-.42em}
 .wordmark .voie{font-size:23px}
 .hero .intro{font-size:18.5px;margin-top:26px}
 .ctas{flex-direction:column;gap:20px;margin-top:36px}
 .ctas .btn-or{width:100%}
 .sec{padding:84px 0}
 .sec-head{margin-bottom:46px}.sec-head p{font-size:18px}
 .mythe .wrap{grid-template-columns:1fr;gap:40px}
 .mythe p{font-size:18px}.mythe .incipit{font-size:24px}.mythe .incipit::first-letter{font-size:58px}
 .legende{flex-wrap:wrap;gap:10px 20px;font-size:10px}
 .maisons{grid-template-columns:1fr;gap:16px}
 .maison{padding:34px 24px 30px}
 .maison.scellee{display:grid;grid-template-columns:84px 1fr;text-align:left;align-items:center;column-gap:20px;padding:24px 22px}
 .maison.scellee .seal{width:84px;height:84px;grid-row:span 4}
 .maison.scellee .etat{margin:0 0 4px}
 .maison.scellee h3{font-size:25px}
 .maison.scellee .el{margin-top:4px;font-size:10px}
 .maison.scellee .dom,.maison.scellee .bottom{display:none}
 .maison.scellee .form{border:0;padding:0;margin-top:6px}
 .maison.scellee .form small{display:none}
 .maison.scellee .form span{font-size:18px}
 .maison.ouverte{order:-1}
 .voie-chiffres{grid-template-columns:1fr;margin-bottom:46px}
 .voie-chiffres>div+div{border-left:0;border-top:1px solid var(--filet)}
 .voie-chiffres>div{padding:26px 20px}.voie-chiffres .n{font-size:50px}
 .grades{grid-template-columns:1fr}
 .grades>div+div{border-left:0;border-top:1px solid var(--filet)}
 .grades>div{padding:24px 4px 14px}
 .sous-grades{font-size:21px;margin-top:36px}
 .regles{grid-template-columns:1fr;gap:16px}.regle{padding:34px 24px}.regle blockquote{font-size:25px}
 .bateleur .wrap{grid-template-columns:1fr;gap:44px}
 .arcane{width:240px;margin:0 auto}.arcane .heb{font-size:100px}.arcane .num{font-size:22px}.arcane .nom{font-size:12px}
 .bateleur p{font-size:18px}
 .conseil span{width:26px;height:26px;font-size:8.5px}
 .lettre{padding:84px 0}
 .missive{padding:50px 24px 40px}.missive h2{font-size:40px}.missive p{font-size:17.5px}
 .champ{flex-direction:column;border:0;gap:12px}.champ input{border:1px solid var(--filet-fort);height:54px}.champ .btn{width:100%}
 footer .cols{grid-template-columns:1fr 1fr;gap:34px}
 footer .cols>div:first-child{grid-column:1/-1}
 footer .avert{flex-direction:column;gap:16px}
}
/* ===== hero porte ===== */
.hero-porte{position:relative;height:1000px;overflow:hidden;background:radial-gradient(ellipse 70% 60% at 50% 55%,rgba(201,169,97,.07),transparent 70%),radial-gradient(ellipse 110% 90% at 50% 50%,transparent 45%,rgba(0,0,0,.7) 100%)}
.porte-wrap{position:absolute;left:50%;top:14px;width:960px;height:960px;transform:translateX(-50%)}
.porte{width:100%;height:100%;display:block;overflow:visible}
.porte-texte{position:absolute;left:50%;transform:translateX(-50%);top:271px;width:540px;text-align:center;z-index:2}
.porte-texte .label{display:block;margin-bottom:22px;font-size:11px;letter-spacing:.5em;margin-right:-.5em}
.hero-porte .wordmark .xxii{font-size:150px}
.hero-porte .wordmark .rules{margin-top:22px;gap:16px}
.hero-porte .wordmark .rules i{width:56px}
.hero-porte .wordmark .lt{font-size:19px;letter-spacing:.46em;margin-right:-.46em}
.hero-porte .wordmark .voie{font-size:27px;margin-top:8px}
.appel{font-family:var(--display);font-size:23px;line-height:1.45;color:#D9D0BF;margin:34px auto 36px}
.appel em{color:var(--or-clair)}
.descendre{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--caps);font-size:10px;letter-spacing:.4em;color:var(--cendre);margin-right:-.4em;z-index:2}
.descendre i{width:1px;height:46px;background:linear-gradient(var(--or),transparent)}
.seuil{border-top:1px solid var(--filet);padding:110px 0 100px;text-align:center}
.manifeste{font-family:var(--display);font-size:36px;line-height:1.35;color:var(--ivoire);max-width:980px;margin:0 auto}
.manifeste em{color:var(--or-clair)}
.compteurs{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.compteurs div{padding:34px 10px}
.compteurs div+div{border-left:1px solid var(--filet)}
.compteurs b{display:block;font-family:var(--display);font-weight:400;font-size:66px;line-height:1;color:var(--or)}
.compteurs span{display:block;font-family:var(--caps);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--cendre);margin-top:14px;line-height:1.7}
/* animations */
.anneau{transform-box:view-box;animation:tourne 480s linear infinite}
@keyframes tourne{to{transform:rotate(360deg)}}
.porte .lt{opacity:.45;animation:eveil 11s ease-in-out infinite;animation-delay:calc(var(--i)*.5s)}
.porte .lt.mere{opacity:1;animation:respire 6s ease-in-out infinite}
@keyframes eveil{0%,100%{opacity:.45}7%{opacity:1}18%{opacity:.45}}
@keyframes respire{0%,100%{opacity:1}50%{opacity:.7}}
.e{transform-box:fill-box;transform-origin:center;animation:flotte 9s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.8s)}
@keyframes flotte{from{transform:translateY(-4px) rotate(-8deg)}to{transform:translateY(5px) rotate(10deg)}}
.arche path{stroke-dasharray:2400;stroke-dashoffset:2400;animation:trace 3.2s cubic-bezier(.6,0,.2,1) .2s forwards}
@keyframes trace{to{stroke-dashoffset:0}}
.hero-porte .xxii{background-size:100% 220%;animation:reflet 9s ease-in-out infinite alternate}
@keyframes reflet{from{background-position:0 0}to{background-position:0 100%}}
@media (prefers-reduced-motion:reduce){*{animation:none!important}.arche path{stroke-dashoffset:0}}
/* arbre */
.mythe .wrap{grid-template-columns:1fr 400px;gap:110px}
.arbre{margin:0}
.arbre svg{width:100%;height:auto;display:block}
.arbre figcaption{text-align:center;font-style:italic;font-size:15.5px;color:var(--brume);margin-top:14px}
.legende{flex-direction:column;gap:10px;font-size:11px}
.legende span{display:flex;align-items:center}
.legende .dim{color:var(--brume);padding-left:2px}
/* avertir */
.maison{padding-left:24px;padding-right:24px}
.avertir{width:100%;margin-top:24px}
.avertir input{width:100%;height:42px;background:transparent;border:0;border-bottom:1px solid var(--filet-fort);font-family:var(--texte);font-style:italic;font-size:16px;color:var(--ivoire);text-align:center;outline:0}
.avertir input::placeholder{color:var(--brume)}
.avertir button{margin-top:14px;background:none;border:0;font-family:var(--display);font-style:italic;font-size:18.5px;color:var(--or-clair);cursor:pointer}
.avertir button span{font-style:normal;margin-left:4px}
@media (max-width:760px){
 .hero-porte{height:700px}
 .porte-wrap{width:640px;height:640px;top:6px}
 .porte-texte{top:178px;width:330px}
 .porte-texte .label{font-size:9px;margin-bottom:14px}
 .hero-porte .wordmark .xxii{font-size:84px}
 .hero-porte .wordmark .rules{margin-top:14px;gap:10px}.hero-porte .wordmark .rules i{width:22px}
 .hero-porte .wordmark .lt{font-size:12px;letter-spacing:.36em;margin-right:-.36em}
 .hero-porte .wordmark .voie{font-size:20px}
 .appel{font-size:18px;margin:20px auto 0}
 .hero-porte .btn-or{position:absolute;top:auto;left:50%;transform:translateX(-50%);margin-top:30px;width:300px}
 .descendre{bottom:16px}
 .seuil{padding:70px 0 70px}
 .manifeste{font-size:25px}
 .compteurs{grid-template-columns:1fr 1fr;margin-top:46px}
 .compteurs div:nth-child(3){border-left:0}
 .compteurs div:nth-child(n+3){border-top:1px solid var(--filet)}
 .compteurs b{font-size:50px}.compteurs span{font-size:9.5px;letter-spacing:.2em}
 .mythe .wrap{grid-template-columns:1fr}
 .arbre{max-width:330px;margin:0 auto}
 .maison.scellee .avertir{grid-column:1/-1;margin-top:18px;display:flex;flex-direction:column;align-items:flex-start}
 .maison.scellee .avertir input{text-align:left}
 /* sigils */
 .vhero{padding:40px 0 60px}.fil{margin-bottom:34px;font-size:9.5px}
 .vgrid{grid-template-columns:1fr;gap:10px}
 .vgrid>div:first-child{order:2}
 .embleme{height:300px;order:1}.embleme .seal{width:270px;height:270px}.embleme .heb-bg{font-size:180px;right:0}
 .badge{font-size:9px;letter-spacing:.2em;padding:7px 12px}
 .vhero h1{font-size:64px;margin-top:22px}
 .vhero .sous{font-size:24px}.vhero .pitch{font-size:17.5px}
 .prixbloc{gap:18px}.prixbloc .p{font-size:48px}.prixbloc .c{font-size:15px;padding-left:16px}
 .vhero .ctas{align-items:stretch}
 .faits{grid-template-columns:repeat(3,1fr)}
 .faits>div:nth-child(4){border-left:0}.faits>div:nth-child(n+4){border-top:1px solid var(--filet)}
 .faits>div{padding:22px 4px}.faits .n{font-size:32px}.faits .t{font-size:9px;letter-spacing:.14em}
 .promesse .wrap{grid-template-columns:1fr;gap:40px}
 .promesse blockquote{font-size:32px}
 .savoirs li{grid-template-columns:44px 1fr}.savoirs h4{font-size:22px}
 .recois{grid-template-columns:1fr;gap:14px}.objet{padding:28px 24px}.objet h4{font-size:25px}
 .seance{grid-template-columns:1fr;gap:44px}
 .page-doc{grid-template-columns:1fr;padding:30px 24px 26px;transform:none}
 .page-doc .ent{margin-right:0}
 .page-doc .marge{border-left:0;border-top:1px solid rgba(140,111,59,.45);padding:16px 0 0;margin-top:6px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .page-doc .marge div+div{margin-top:0}
 .suite .chap span{width:38px;height:38px}
}

.descendre{display:none}

.maison .pre{font-family:var(--caps);font-size:10.5px;letter-spacing:.42em;color:var(--cendre);margin-right:-.42em;margin-bottom:6px}
.maison h3{font-size:38px}
.regle blockquote{min-height:108px;display:flex;align-items:center;justify-content:center}
.voie-chiffres .heb{direction:rtl}
@media (max-width:760px){.maison.scellee .pre{margin:0 0 2px;font-size:9px}.maison h3{font-size:32px}.regle blockquote{min-height:0}}
@media (max-width:760px){
 .maison.scellee .seal{grid-row:1 / span 5;grid-column:1}
 .maison.scellee>*:not(.seal):not(.avertir){grid-column:2}
 .maison.scellee .form span{font-size:19px;color:var(--cendre)}
 .hero-porte{height:650px}
 .manifeste{font-size:23px}
}
.legende b{white-space:nowrap;direction:rtl;flex:none}
@media (max-width:760px){.legende span{align-items:flex-start}.legende b{margin-right:12px}}
.faits .n,.compteurs b,.prix,.maison .prix{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
/* ===== Gemmes des Maisons : l'or reste à l'Ordre ===== */
.ico{color:var(--or)}
.scint{transform-box:fill-box;transform-origin:center;animation:scint 5s ease-in-out infinite;animation-delay:calc(var(--i)*-.83s)}
@keyframes scint{0%,100%{opacity:.15;transform:scale(.35) rotate(0)}14%{opacity:1;transform:scale(1) rotate(22deg)}30%{opacity:.15;transform:scale(.4) rotate(45deg)}}
.m-souffle{--gem:#C8D6EC;--gem-clair:#EEF3FB;--gem-sombre:#7E93B8;--gem-rgb:200,214,236;
 --gem-grad:linear-gradient(105deg,#7E93B8 0%,#DCE6F5 16%,#FFFFFF 25%,#A9BBD8 38%,#F1E8FF 50%,#B9C9E2 62%,#FFFFFF 72%,#E3ECF8 84%,#8FA3C2 100%)}
.m-eaux{--gem:#2F66DA;--gem-clair:#8DBBFF;--gem-sombre:#163E9E;--gem-rgb:76,134,240;
 --gem-grad:linear-gradient(105deg,#163E9E 0%,#4C86F0 18%,#B8D6FF 27%,#2458D0 42%,#6FA3FF 56%,#1D4BB8 70%,#A9CBFF 82%,#163E9E 100%)}
.m-feu{--gem:#D11F35;--gem-clair:#FF8F7A;--gem-sombre:#7C0817;--gem-rgb:255,59,78;
 --gem-grad:linear-gradient(105deg,#7C0817 0%,#E3263A 18%,#FFB09E 27%,#A30F25 42%,#FF5A4E 56%,#B0142B 70%,#FF8F7A 82%,#7C0817 100%)}
.m-terre{--gem:#16A862;--gem-clair:#7FF0BB;--gem-sombre:#07522F;--gem-rgb:43,224,138;
 --gem-grad:linear-gradient(105deg,#07522F 0%,#16A862 18%,#B5FFDD 27%,#0A6E40 42%,#3FE59A 56%,#0E8A4F 70%,#9BFFD0 82%,#07522F 100%)}
.m-souffle,.m-eaux,.m-feu,.m-terre{--or:var(--gem);--or-clair:var(--gem-clair);--or-sombre:var(--gem-sombre);--filet:rgba(var(--gem-rgb),.2);--filet-fort:rgba(var(--gem-rgb),.46)}
.gemme,.maison-page h1 em,.maison-page h2 em,.maison-page .vhero .sous,.maison-page .amp,.maison-page .promesse blockquote em{
 background:var(--gem-grad);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;
 animation:reflet 10s ease-in-out infinite alternate;filter:drop-shadow(0 0 16px rgba(var(--gem-rgb),.22))}
@keyframes reflet{from{background-position:0% 50%}to{background-position:100% 50%}}
.maison-page .gline{height:1px;border:0;background:linear-gradient(90deg,transparent,rgba(var(--gem-rgb),.25) 15%,#fff 50%,rgba(var(--gem-rgb),.25) 85%,transparent);opacity:.7}
.maison-page .faits{border-image:linear-gradient(90deg,transparent,rgba(var(--gem-rgb),.55) 20%,rgba(255,255,255,.8) 50%,rgba(var(--gem-rgb),.55) 80%,transparent) 1}
.maison-page .faits .n{background:var(--gem-grad);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.maison-page .badge i{background:#fff;box-shadow:0 0 6px #fff,0 0 16px rgba(var(--gem-rgb),.9)}
.maison-page .objet.phare{box-shadow:0 0 0 1px rgba(var(--gem-rgb),.25),0 30px 70px -40px rgba(var(--gem-rgb),.45)}
.maison-page .ico{filter:drop-shadow(0 0 6px rgba(var(--gem-rgb),.45))}
/* le bouton d'achat et la marque restent en or */
.maison-page .btn-or{--or:#C9A961}
/* atmosphère du Souffle : air froid, brume */
.m-souffle .vhero{background:radial-gradient(ellipse 46% 62% at 76% 46%,rgba(200,214,236,.16),transparent 70%),radial-gradient(ellipse 30% 40% at 80% 40%,rgba(241,232,255,.07),transparent 70%),radial-gradient(ellipse 120% 100% at 50% 30%,transparent 55%,rgba(0,0,0,.55) 100%)}
.m-souffle .vhero::before,.m-souffle .vhero::after{content:"";position:absolute;pointer-events:none;inset:-10% -10%;filter:blur(18px);opacity:.9}
.m-souffle .vhero::before{background:radial-gradient(ellipse 34% 9% at 62% 28%,rgba(220,232,255,.10),transparent 70%),radial-gradient(ellipse 40% 7% at 30% 74%,rgba(200,214,236,.08),transparent 70%),radial-gradient(ellipse 28% 6% at 88% 82%,rgba(241,232,255,.08),transparent 70%);animation:brume 38s ease-in-out infinite alternate}
.m-souffle .vhero::after{background:radial-gradient(ellipse 26% 5% at 20% 36%,rgba(220,232,255,.06),transparent 70%),radial-gradient(ellipse 36% 8% at 72% 62%,rgba(220,232,255,.07),transparent 70%);animation:brume 52s ease-in-out infinite alternate-reverse}
@keyframes brume{from{transform:translateX(-3%)}to{transform:translateX(4%)}}
.m-souffle .embleme .halo{background:radial-gradient(circle at 50% 50%,rgba(220,232,255,.22),rgba(167,179,198,.06) 38%,transparent 60%)}
.m-souffle .embleme .seal{filter:drop-shadow(0 0 22px rgba(200,214,236,.28))}
.m-souffle .embleme .heb-bg{color:#DCE6F5;opacity:.05}
.m-souffle .page-doc mark{background:linear-gradient(transparent 55%,rgba(150,172,210,.38) 55%)}
.m-souffle .page-doc .ent,.m-souffle .page-doc .rep b{color:#5E6F8E}.m-souffle .page-doc .marge{color:#4F6283;border-color:rgba(94,111,142,.4)}.m-souffle .page-doc .marge span{color:#5E6F8E}
/* programme */
.programme{columns:2;column-gap:70px;margin-top:10px;list-style:none;counter-reset:c;text-align:left;max-width:980px;margin-left:auto;margin-right:auto}
.programme li{counter-increment:c;break-inside:avoid;display:grid;grid-template-columns:62px 1fr;align-items:baseline;padding:20px 0;border-top:1px solid var(--filet)}
.programme li::before{content:counter(c,upper-roman);font-family:var(--caps);font-size:15px;color:var(--or)}
.programme h4{font-family:var(--display);font-weight:500;font-size:27px;line-height:1.2;color:var(--ivoire)}
.oeuvre{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.oeuvre .cadre{border:1px solid var(--filet-fort);padding:44px 40px;position:relative;text-align:center}
.oeuvre .cadre::before{content:"";position:absolute;inset:8px;border:1px solid var(--filet)}
.oeuvre .cadre .seal{width:150px;height:150px}
.oeuvre .cadre h4{font-family:var(--display);font-weight:500;font-size:30px;margin-top:14px}
.oeuvre .cadre p{font-size:16.5px;color:var(--cendre);margin-top:8px}
@media (max-width:760px){
 .programme{columns:1}.programme li{grid-template-columns:46px 1fr;padding:16px 0}.programme h4{font-size:23px}
 .oeuvre{grid-template-columns:1fr;gap:36px}.oeuvre .cadre{padding:34px 22px}
}
.oeuvre>*{min-width:0}
@media (max-width:760px){.oeuvre .ctas .btn{white-space:normal;text-align:center;width:100%}}
.seance .page-doc p.rep{color:#2A241C;max-width:none}
@media (max-width:760px){.oeuvre .ctas .btn{letter-spacing:.1em;padding-left:12px;padding-right:12px;font-size:11.5px}}
.programme li p{font-size:16.5px;line-height:1.5;color:var(--cendre);margin-top:6px;font-variant-numeric:lining-nums}
.programme li p i{font-style:italic;color:var(--ivoire)}
.programme li{padding:22px 0 24px}

/* ===== Les Éclats (remplacent l'hébreu) ===== */
svg.eclat{display:inline-block;width:.75em;height:1em;vertical-align:-.12em;overflow:visible}
.legende b.ecl{display:inline-flex;gap:6px;font-size:24px;color:var(--or-clair)}
.voie-chiffres .heb.ecl{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;font-size:26px;letter-spacing:0;direction:ltr}
.voie-chiffres .heb.ecl span{font-family:var(--display);font-size:20px;align-self:flex-end}
.arcane .heb.ecl{font-size:150px;line-height:1;color:var(--or);display:flex;justify-content:center}
.arcane .heb.ecl svg{width:.6em;height:.8em}
.embleme .heb-bg{color:var(--or)}.embleme .heb-bg svg{width:225px;height:300px}
@media (max-width:760px){.embleme .heb-bg svg{width:135px;height:180px}.arcane .heb.ecl{font-size:100px}}
/* ===== Vision ===== */
.vision{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 55% at 50% 30%,rgba(201,169,97,.08),transparent 70%)}
.vision .sec-head p{max-width:760px}
.constellation{display:grid;grid-template-columns:.85fr 1.6fr 2fr;gap:0;margin:58px 0 64px;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.constellation .fam{padding:34px 22px 26px;text-align:center;border-left:1px solid var(--filet)}
.constellation .fam:first-child{border-left:0}
.constellation .g{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 18px;font-size:46px;min-height:120px;align-items:center}
.constellation .f-m .g{color:#EDD9A1;filter:drop-shadow(0 0 8px rgba(237,217,161,.55))}
.constellation .f-d .g{color:var(--or);opacity:.55}
.constellation .f-s .g{color:var(--or);opacity:.3}
.constellation span{display:block;margin-top:22px;font-family:var(--caps);font-size:12px;letter-spacing:.32em;color:var(--ivoire);text-transform:uppercase}
.constellation small{display:block;margin-top:6px;font-family:var(--display);font-style:italic;font-size:17px;color:var(--cendre)}
.etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:34px;counter-reset:none;position:relative}
.etapes:before{content:"";position:absolute;left:0;right:0;top:22px;height:1px;background:linear-gradient(90deg,var(--or),rgba(201,169,97,.15))}
.etapes li{position:relative}
.etapes .r{position:relative;width:44px;height:44px;border:1px solid var(--or);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--caps);font-size:13px;letter-spacing:.08em;color:var(--or-clair);background:#0A090C;margin-bottom:26px}
.etapes li:first-child .r{background:var(--or);color:#15110A;box-shadow:0 0 18px rgba(201,169,97,.5)}
.etapes h4{font-family:var(--display);font-weight:400;font-size:26px;color:var(--ivoire);margin:0 0 12px}
.etapes p{margin:0;font-size:16.5px;line-height:1.6;color:var(--cendre)}
.etapes .gems{display:flex;gap:10px;margin-top:18px}
.etapes .gems i{width:12px;height:12px;transform:rotate(45deg);display:block}
.etapes .gems .s{background:linear-gradient(135deg,#6F84A8,#C8D6EC,#fff);box-shadow:0 0 10px rgba(200,214,236,.6)}
.etapes .gems .e{background:linear-gradient(135deg,#0A1F5C,#2F66DA,#8DBBFF);opacity:.45}
.etapes .gems .f{background:linear-gradient(135deg,#45050E,#D11F35,#FF6A58);opacity:.45}
.etapes .gems .t{background:linear-gradient(135deg,#03301C,#16A862,#5CF2AE);opacity:.45}
.vision-fin{text-align:center;margin:64px auto 0;font-family:var(--display);font-size:24px;color:var(--ivoire)}
.vision-fin em{color:var(--or-clair)}
@media (max-width:980px){.etapes{grid-template-columns:1fr 1fr}.etapes:before{display:none}.constellation{grid-template-columns:1fr}.constellation .fam{border-left:0;border-top:1px solid var(--filet)}.constellation .fam:first-child{border-top:0}}
@media (max-width:560px){.etapes{grid-template-columns:1fr;gap:30px}.constellation .g{font-size:36px}.vision-fin{font-size:20px}}
.legende b.ecl,.voie-chiffres .heb.ecl{direction:ltr}
.constellation .f-s .g{max-width:330px;margin:0 auto}.voie-chiffres .heb.ecl{align-items:center;min-height:34px}.voie-chiffres .heb.ecl span{align-self:center;line-height:1}
@media(max-width:560px){.constellation .f-s .g{max-width:270px}}
/* menu mobile */
button.burger{appearance:none;background:none;padding:0;border-left:0;border-right:0;cursor:pointer;box-sizing:content-box;outline-offset:8px}
.nav .li-lettre{display:none}
.nav.open .burger{border-color:transparent}
.nav.open .burger::before,.nav.open .burger::after{content:"";position:absolute;left:0;right:0;top:6px;border-top:1px solid var(--or-clair)}
.nav.open .burger::before{transform:rotate(45deg)}.nav.open .burger::after{transform:rotate(-45deg)}
@media (max-width:760px){
 .nav.open ul{display:flex;flex-direction:column;gap:0;position:absolute;top:68px;left:0;right:0;background:rgba(10,9,12,.98);border-bottom:1px solid var(--filet);padding:8px 24px 24px;font-size:13px;z-index:20;box-shadow:0 30px 60px rgba(0,0,0,.6)}
 .nav.open ul li{border-bottom:1px solid var(--filet)}
 .nav.open ul a{display:block;padding:18px 0}
 .nav.open ul .li-lettre{display:block;border-bottom:0;margin-top:18px}
 .nav.open ul .li-lettre a{text-align:center;border:1px solid var(--or);color:var(--or-clair);padding:16px 0}
 .nav{z-index:30}
}

/* ============ FX — effets (actifs seulement avec html.fx, jamais en prefers-reduced-motion) ============ */
.tip,.tip-glyphs{display:none}
.arbre{position:relative}
.arbre .ch .glow,.arbre .ch .trace{display:none}
.arbre .ch .base{opacity:1}
.arbre .ch:not(.mere) .base{opacity:.42}
.arbre .halo{opacity:0}
.intro-porte{display:none}
.curseur,.curseur-pt,.rideau{display:none}
.sheen{display:none}

html.fx .intro-porte{display:block}
/* — Intro du hero — */
html.fx .porte .slot{opacity:0;transition:opacity 1.1s cubic-bezier(.2,.7,.2,1) var(--d)}
html.fx.lit .porte .slot{opacity:1}
html.fx .intro-porte .vantail{transform-box:view-box;transition:transform 2.2s cubic-bezier(.7,0,.2,1) 1.05s}
html.fx .intro-porte .vantail.g{transform-origin:215px 50%}
html.fx .intro-porte .vantail.d{transform-origin:785px 50%}
html.fx.lit .intro-porte .vantail{transform:scaleX(0)}
html.fx .intro-porte .lumiere{opacity:0}
html.fx.lit .intro-porte .lumiere{animation:lumiere 3.6s cubic-bezier(.3,.1,.2,1) 1.05s forwards}
@keyframes lumiere{0%{opacity:0}35%{opacity:1}100%{opacity:.16}}
html.fx .porte-texte>*{opacity:0;filter:blur(10px);translate:0 14px;transition:opacity 1.2s ease,filter 1.2s ease,translate 1.4s cubic-bezier(.2,.7,.2,1)}
html.fx.lit .porte-texte>*{opacity:1;filter:none;translate:0 0}
html.fx.lit .porte-texte>:nth-child(1){transition-delay:1.9s}
html.fx.lit .porte-texte>:nth-child(2){transition-delay:2.15s}
html.fx.lit .porte-texte>:nth-child(3){transition-delay:2.5s}
html.fx.lit .porte-texte>:nth-child(4){transition-delay:2.75s}
html.fx.lit .porte-texte>:nth-child(n+5){transition-delay:2.95s}
html.fx .hero-porte .descendre{opacity:0;transition:opacity 1s ease 3.3s}
html.fx.lit .hero-porte .descendre{opacity:1}
html.fx.accueil .nav{opacity:0;transition:opacity 1.2s ease 2.6s}
html.fx.accueil.lit .nav{opacity:1}
html.fx.court .porte .slot{transition-duration:.6s;transition-delay:calc(var(--d)*.35)}
html.fx.court .intro-porte .vantail{transition-duration:1.2s;transition-delay:.3s}
html.fx.court.lit .intro-porte .lumiere{animation-duration:2s;animation-delay:.3s}
html.fx.court.lit .porte-texte>*,html.fx.court.lit .hero-porte .descendre,html.fx.court.lit.accueil .nav{transition-delay:.7s!important}
/* parallaxe */
html.fx .porte-wrap{transform:translateX(-50%) translate3d(calc(var(--mx,0)*-14px),calc(var(--sy,0)*.22px + var(--my,0)*-10px),0);will-change:transform}
html.fx .porte-texte{transform:translateX(-50%) translate3d(calc(var(--mx,0)*8px),calc(var(--sy,0)*.1px + var(--my,0)*6px),0);opacity:calc(1 - var(--sy,0)/650)}
html.fx .vhero .embleme{transform:translate3d(calc(var(--mx,0)*-10px),calc(var(--sy,0)*.14px + var(--my,0)*-8px),0)}
/* particules */
.poussiere{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:0;transition:opacity 2.4s ease .6s}
html.fx.lit .poussiere{opacity:1}
.vhero .poussiere{z-index:0}
.vhero>.wrap,.vhero>div:not(.poussiere){position:relative;z-index:1}

/* — Arbre — */
html.fx .arbre .ch .base{opacity:.12}
html.fx .arbre .ch.mere .base{opacity:.22}
html.fx .arbre .ch .trace{display:inline;stroke-dasharray:1 1;stroke-dashoffset:1;opacity:.55;transition:stroke-dashoffset 1.1s cubic-bezier(.6,.05,.25,1),opacity .6s ease,stroke-width .4s ease}
html.fx .arbre .ch.mere .trace{opacity:1}
html.fx .arbre .ch .glow{display:inline;stroke-dasharray:1 1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset 1.1s cubic-bezier(.6,.05,.25,1),opacity .6s ease}
html.fx .arbre .ch.on .trace,html.fx .arbre .ch.on .glow{stroke-dashoffset:0}
html.fx .arbre .ch.on .glow{animation:flash 2.2s ease .5s both}
@keyframes flash{0%{opacity:0}30%{opacity:.85}100%{opacity:.14}}
html.fx .arbre .ch.mere.on .glow{animation-name:flashm}
@keyframes flashm{0%{opacity:0}30%{opacity:1}100%{opacity:.32}}
html.fx .arbre .ch.hot .trace{opacity:1;stroke-width:1.8}
html.fx .arbre .ch.hot .glow{animation:none;opacity:.9;transition:opacity .25s}
.arbre .hitl{pointer-events:stroke;cursor:pointer}
html.fx .arbre .bdg{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;transition:opacity .7s ease .55s,transform .9s cubic-bezier(.2,1.5,.4,1) .55s}
html.fx .arbre .bdg.on{opacity:1;transform:none}
.arbre .bdg{cursor:pointer;outline:none}
.arbre .bdg .disc{transition:stroke-width .3s,filter .3s}
.arbre .bdg.hot .disc,.arbre .bdg:focus-visible .disc{stroke-width:2;filter:drop-shadow(0 0 6px rgba(232,207,142,.8))}
html.fx .arbre .halo{transform-box:fill-box;transform-origin:center;animation:pouls 5.2s ease-in-out calc(var(--i)*-.47s) infinite;animation-play-state:paused}
html.fx .arbre.vu .halo{animation-play-state:running}
@keyframes pouls{0%,100%{opacity:.08;transform:scale(.86)}50%{opacity:.75;transform:scale(1.07)}}
html.fx .arbre .sph circle:first-child{transition:stroke-width .4s}
/* infobulle */
.arbre .tip{display:block;position:absolute;z-index:5;left:0;top:0;width:248px;padding:18px 20px 16px;pointer-events:none;
 background:linear-gradient(180deg,rgba(26,22,30,.94),rgba(13,11,16,.96));border:1px solid rgba(201,169,97,.42);
 box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.4) inset,0 0 40px rgba(201,169,97,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
 opacity:0;transform:translate(var(--tx,0),calc(var(--ty,0) + 8px)) scale(.97);transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1);text-align:left}
.arbre .tip[hidden]{display:block;visibility:hidden}
.arbre .tip.vis{opacity:1;transform:translate(var(--tx,0),var(--ty,0))}
.arbre .tip::before,.arbre .tip::after{content:"";position:absolute;width:9px;height:9px;border:1px solid rgba(201,169,97,.6)}
.arbre .tip::before{top:-1px;left:-1px;border-right:0;border-bottom:0}.arbre .tip::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.tip .t-g{float:left;width:46px;height:62px;margin:2px 16px 4px 0;color:#E4CC8E;filter:drop-shadow(0 0 8px rgba(201,169,97,.45))}
.tip .t-g svg{width:100%;height:100%;display:block}
.tip .t-n{display:block;font-family:Cinzel,serif;font-size:10px;letter-spacing:.32em;color:#C9A961}
.tip .t-nom{display:block;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:30px;line-height:1.05;color:#F1E3BC;margin:4px 0 2px}
.tip .t-arc{display:block;font-family:"Cormorant Garamond",serif;font-size:16px;color:#D8CDB8}
.tip .t-ch{clear:both;display:block;padding-top:10px;margin-top:10px;border-top:1px solid rgba(201,169,97,.2);font-family:Cinzel,serif;font-size:9px;letter-spacing:.2em;color:rgba(216,205,184,.7);text-transform:uppercase}
.tip.mere .t-n::after{content:" · mère";color:#E4CC8E}

/* — Sceaux & gemmes — */
html.fx .sheen{display:inline;pointer-events:none}
html.fx .sheen .band{transform-box:view-box;transform:translateX(-120px);animation:reflet-sceau 7.5s cubic-bezier(.5,0,.3,1) infinite;animation-delay:var(--sd,1.2s)}
@keyframes reflet-sceau{0%{transform:translateX(-120px)}22%,100%{transform:translateX(360px)}}
html.fx .maison:nth-child(2) .sheen .band{--sd:2.4s}html.fx .maison:nth-child(3) .sheen .band{--sd:3.6s}html.fx .maison:nth-child(4) .sheen .band{--sd:4.8s}
html.fx .fc{animation:facette 4.6s ease-in-out calc(var(--i)*-.61s) infinite}
@keyframes facette{0%,100%{filter:none}46%{filter:none}50%{filter:brightness(1.9) saturate(1.2)}56%{filter:none}}
html.fx .maison .seal,html.fx .embleme .seal{transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s}
html.fx .maison .seal{transform:perspective(700px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--sc,1))}
html.fx .embleme .seal{transform:translate(-50%,-50%) perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
html.fx .maison.tilt .seal{--sc:1.04;transition:transform .12s linear;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45))}
html.fx .embleme.tilt .seal{transition:transform .15s linear}
html.fx .maison.tilt .sheen .band{animation:reflet-hover 1.1s cubic-bezier(.5,0,.3,1) 1}
@keyframes reflet-hover{0%{transform:translateX(-120px)}100%{transform:translateX(360px)}}

/* — Révélations — */
html.fx .rv{opacity:0;filter:blur(8px);translate:0 26px;transition:opacity 1.1s ease,filter 1.1s ease,translate 1.2s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0s)}
html.fx .rv.in{opacity:1;filter:none;translate:0 0}
/* titres lettre à lettre */
.sx .xw{display:inline-block;white-space:nowrap}
html.fx .sx .xc{display:inline-block;opacity:0;transform:translateY(.32em);filter:blur(5px);
 transition:opacity .55s ease,transform .7s cubic-bezier(.2,.8,.2,1),filter .6s ease,color 1.6s ease,text-shadow 1.6s ease;transition-delay:calc(var(--c)*32ms)}
html.fx .sx .xc:not(.u){color:#F6E3A8;text-shadow:0 0 18px rgba(232,207,142,.7)}
html.fx .sx em .xc:not(.u){color:#FFF0C4}
html.fx .sx.in .xc{opacity:1;transform:none;filter:none}
html.fx .sx.in .xc:not(.u){color:inherit;text-shadow:0 0 0 rgba(232,207,142,0)}
html.fx .sx .xc.u{display:inline}

/* — Curseur — */
html.fx-cur,html.fx-cur *{cursor:none!important}
html.fx-cur input,html.fx-cur textarea,html.fx-cur select{cursor:text!important}
html.fx-cur .curseur,html.fx-cur .curseur-pt{display:block;position:fixed;left:0;top:0;pointer-events:none;z-index:1000;border-radius:50%}
.curseur{width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid rgba(228,204,142,.75);transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),margin .35s cubic-bezier(.2,.8,.2,1),background .35s,border-color .35s,opacity .3s;mix-blend-mode:normal}
.curseur-pt{width:4px;height:4px;margin:-2px 0 0 -2px;background:#E4CC8E;box-shadow:0 0 8px rgba(228,204,142,.9)}
.curseur.big{width:58px;height:58px;margin:-29px 0 0 -29px;background:rgba(201,169,97,.08);border-color:rgba(243,223,166,.95)}
.curseur.down{width:26px;height:26px;margin:-13px 0 0 -13px}
.curseur.off,.curseur-pt.off{opacity:0}

/* — Transition de page — */
html.fx .rideau{display:flex;position:fixed;inset:0;z-index:2000;background:#0A090C;align-items:center;justify-content:center;flex-direction:column;gap:18px;
 opacity:1;transition:opacity .6s ease;pointer-events:none}
html.fx .rideau.out{opacity:0}
html.fx .rideau.go{opacity:1;pointer-events:all;transition:opacity .45s ease}
.rideau b{font-family:Cinzel,serif;font-weight:500;font-size:46px;letter-spacing:.18em;margin-right:-.18em;background:linear-gradient(180deg,#EDD9A1,#C9A961 52%,#9C7C43);-webkit-background-clip:text;background-clip:text;color:transparent}
.rideau i{display:block;width:120px;height:1px;background:linear-gradient(90deg,transparent,#C9A961,transparent);transform:scaleX(0);transition:transform .8s cubic-bezier(.6,0,.2,1)}
.rideau.go i,.rideau:not(.out) i{transform:scaleX(1)}

@media (prefers-reduced-motion:reduce){.poussiere,.curseur,.curseur-pt,.rideau{display:none!important}}

/* ============ HERO : LE SCEAU DES XXII ============ */
.sr{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;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.hero-sceau{position:relative;min-height:clamp(760px,100vh,1080px);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 24px 84px;
 background:radial-gradient(ellipse 46% 42% at 50% 40%,rgba(201,169,97,.075),transparent 72%),radial-gradient(ellipse 110% 90% at 50% 50%,transparent 45%,rgba(0,0,0,.72) 100%)}
.sc-scene{position:relative;z-index:2;width:clamp(300px,calc(100vh - 430px),660px);aspect-ratio:1;perspective:1400px;flex:none}
.sc-tilt{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.sceau{display:block;width:100%;height:100%;overflow:visible}
.sc-nom{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.sc-nom .xxii{margin:0 -.14em 0 0;font-family:var(--caps);font-weight:400;font-size:min(56px,4.9vh);line-height:1;letter-spacing:.14em;
 background:linear-gradient(180deg,#F3E2AE 0%,#C9A961 55%,#9C7C43 100%);background-size:100% 220%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
 filter:drop-shadow(0 0 22px rgba(10,9,12,.9)) drop-shadow(0 0 30px rgba(228,204,142,.35))}
.sc-seuil{position:absolute;inset:-70%;z-index:3;pointer-events:none;opacity:0;
 background:radial-gradient(circle at 50% 50%,rgba(255,246,222,.96) 0,rgba(240,218,160,.55) 9%,rgba(201,169,97,.16) 22%,transparent 40%)}
.sc-texte{position:relative;z-index:3;text-align:center;margin-top:14px}
.hero-sceau .wordmark .rules{margin-top:0;gap:18px}
.hero-sceau .wordmark .rules i{width:64px}
.hero-sceau .wordmark .lt{font-size:17px;letter-spacing:.5em;margin-right:-.5em}
.hero-sceau .wordmark .voie{font-size:26px;margin-top:8px}
.hero-sceau .appel{margin:20px auto 28px;font-size:21px}
.hero-sceau .descendre{bottom:26px}
/* ===== XXII « Joyau » — état statique (sans effets / mouvement réduit) : taillé et allumé ===== */
.mj{position:relative;width:100%;aspect-ratio:1;color:#D2D7E1}
.mj>svg,.mj>div{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.mj-lum svg,.mj-bloom svg{display:block;width:100%;height:100%;overflow:visible}
.mj-o{fill:#08070A;stroke:#08070A;stroke-width:5;stroke-linejoin:miter}
.mj-hhi{stroke:#FFFFFF;stroke-width:1.3;opacity:.9}
.mj-hlo{stroke:#C3C9D6;stroke-width:.9;opacity:.5}
.mj-hcy{stroke:#9EEBFF;stroke-width:.9;opacity:.17}
.mj-hmg{stroke:#FFA6DE;stroke-width:.9;opacity:.13}
.mj-bloom{opacity:.34}
.mj>.mj-bloom{left:25%;top:25%;width:50%;height:50%;transform:scale(2)}
.mj-bloom svg{filter:blur(4.5px)}
.mj-lumA svg{opacity:.12}.mj-lumB svg{opacity:.06}
html.fx .mj-lum svg{will-change:opacity}
.mj-reflet{-webkit-mask:url(assets/joyau-masque.svg?v=2a274c8759) center/100% 100% no-repeat;mask:url(assets/joyau-masque.svg?v=2a274c8759) center/100% 100% no-repeat;overflow:hidden}
.mj-reflet i{position:absolute;display:block}
.rf-spot{left:20%;top:20%;width:60%;height:60%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.5),rgba(214,226,255,.14) 55%,transparent);opacity:.8}
.rf-balai{top:-10%;bottom:-10%;left:-30%;width:26%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08) 30%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.08) 70%,transparent);opacity:0}
.mj-coeur{opacity:.55}
.mj-ecl{opacity:.62}.mj-ecl.m{opacity:1}
.mj-s{opacity:0}
.mj-coeur{transform-box:view-box;transform-origin:500px 500px}
.mj-d,.mj-s,.mj-joyau{transform-box:fill-box;transform-origin:center}
.mj-anneau{transform-origin:50% 50%}
/* parcours des gemmes : blanc diamant → saphir → rubis → émeraude → opale (par paliers : peu de repeints) */
@keyframes mj-gl{0%,100%{stop-color:#F6F7FA}12%{stop-color:#D3DFF8}25%{stop-color:#F6F7FA}37%{stop-color:#F6D6DD}50%{stop-color:#F6F7FA}62%{stop-color:#D5F0E2}75%{stop-color:#F6F7FA}87%{stop-color:#EEE9F8}}
@keyframes mj-gr{0%,100%{stop-color:#A6ADBC}12%{stop-color:#7F9BD6}25%{stop-color:#A6ADBC}37%{stop-color:#C47A8A}50%{stop-color:#A6ADBC}62%{stop-color:#6DB394}75%{stop-color:#A6ADBC}87%{stop-color:#C2BFD8}}
@keyframes mj-gd{0%,100%{stop-color:#2A2E39}12%{stop-color:#253A72}25%{stop-color:#2A2E39}37%{stop-color:#6A1D31}50%{stop-color:#2A2E39}62%{stop-color:#14503A}75%{stop-color:#2A2E39}87%{stop-color:#4B4C62}}
@keyframes mj-col{0%,100%{color:#D2D7E1}12%{color:#BCCBEA}37%{color:#E6C6CD}62%{color:#C2DDCF}87%{color:#DAD7EA}}
html.fx .mj stop[class^="g"],html.fx .mono-mini stop[class^="g"]{animation:mj-gl 28s steps(30) calc(3.6s*var(--t)) infinite}
html.fx .mj stop[class^="gr"],html.fx .mono-mini stop[class^="gr"]{animation-name:mj-gr}
html.fx .mj stop[class^="gd"],html.fx .mono-mini stop[class^="gd"]{animation-name:mj-gd}
html.fx .mj stop[class$="1"],html.fx .mono-mini stop[class$="1"]{animation-delay:calc(3.6s*var(--t) + 1.2s)}
html.fx .mj stop[class$="2"],html.fx .mono-mini stop[class$="2"]{animation-delay:calc(3.6s*var(--t) + 2.4s)}
html.fx .mj{animation:mj-col 28s steps(30) calc(3.6s*var(--t)) infinite}

/* — intro (CSS pur : démarre au premier rendu, ne dépend ni des polices ni du JS) — */
@keyframes mj-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes mj-in{from{opacity:0}}
html.fx .mj-tr,html.fx .mj-hhi,html.fx .mj-hlo{stroke-dasharray:1 2;animation:mj-trace var(--du,.8s) cubic-bezier(.6,0,.25,1) calc(var(--de)*var(--t)) both}
html.fx .mj-a1{--de:.04s;--du:1s}
html.fx .mj-a2{--de:.2s;--du:1.1s}
html.fx .mj-a0{--de:.4s;--du:1.6s}
html.fx .mj-et{--de:.5s;--du:1.6s}
html.fx .mj-ray{--de:calc(.8s + var(--k)*.025s);--du:.9s}
html.fx .mj-hhi,html.fx .mj-hlo{--de:calc(.12s + var(--i)*.07s);--du:.8s}
html.fx .mj-pc{animation:mj-in .8s ease calc((.5s + var(--i)*.07s)*var(--t)) both}
html.fx .mj-hcy,html.fx .mj-hmg{animation:mj-in 1.2s ease calc(1.3s*var(--t)) both}
html.fx .mj-coeur{animation:mj-coeur 1.4s cubic-bezier(.2,.7,.2,1) 0s both,mj-respire 6s ease-in-out calc(2.6s*var(--t)) infinite}
@keyframes mj-coeur{0%{opacity:.8;transform:scale(.5)}40%{opacity:.9}100%{opacity:.55;transform:scale(1)}}
@keyframes mj-respire{0%,100%{opacity:.55}50%{opacity:.85}}
html.fx .mj-joyau{animation:mj-joyau 1.6s cubic-bezier(.2,.8,.2,1) 0s both}
@keyframes mj-joyau{0%{opacity:1;transform:scale(.45) rotate(-45deg)}25%{opacity:1;transform:scale(1.45) rotate(0)}100%{opacity:1;transform:scale(1)}}
html.fx .mj-d{animation:mj-pop .7s ease-out calc((.95s + var(--j)*.03s)*var(--t)) both}
@keyframes mj-pop{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}
html.fx .mj-s{animation:mj-burst 1.1s ease-out calc((1.6s + var(--j)*.03s)*var(--t)) both,mj-scint 7s ease-in-out calc(3.4s + var(--j)*.61s) infinite}
html.fx .mj-sj{animation:mj-burst 1.5s ease-out .05s both,mj-scint 9s ease-in-out 5s infinite}
@keyframes mj-burst{0%{opacity:0;transform:scale(0) rotate(0)}30%{opacity:1;transform:scale(1.3) rotate(25deg)}100%{opacity:0;transform:scale(.2) rotate(60deg)}}
@keyframes mj-scint{0%,88%,100%{opacity:0;transform:scale(.2) rotate(0)}93%{opacity:1;transform:scale(1) rotate(30deg)}}
html.fx .mj-bloom{will-change:opacity;animation:mj-bloom 2.8s cubic-bezier(.3,0,.2,1) calc(1.2s*var(--t)) both,mj-pouls-bloom 11s ease-in-out calc(7.5s*var(--t)) infinite}
@keyframes mj-bloom{0%{opacity:0}40%{opacity:1}100%{opacity:.34}}
@keyframes mj-pouls-bloom{0%,30%,100%{opacity:.34}10%{opacity:.75}}
html.fx .mj-lum{will-change:opacity;animation:mj-in 1s ease calc(1.25s*var(--t)) both}
html.fx .mj-reflet{animation:mj-in 1.2s ease calc(1.5s*var(--t)) both}
html.fx .rf-spot{will-change:transform}
html.fx .rf-balai{will-change:transform;animation:mj-balai 7s cubic-bezier(.55,0,.35,1) calc(1.55s*var(--t)) infinite}
@keyframes mj-balai{0%{opacity:1;transform:skewX(-16deg) translateX(0)}17%{opacity:1;transform:skewX(-16deg) translateX(620%)}17.1%,100%{opacity:0;transform:skewX(-16deg) translateX(620%)}}
html.fx .mj-ecl{animation:mj-ecl 1s ease-out calc((1.45s + var(--k)*.036s)*var(--t)) both}
html.fx .mj-ecl.m{animation-name:mj-eclm}
@keyframes mj-ecl{0%{opacity:0}35%{opacity:1}100%{opacity:.62}}
@keyframes mj-eclm{0%{opacity:0}35%{opacity:1}100%{opacity:1}}
html.fx .mj-tick{animation:mj-in 1.2s ease calc(.6s*var(--t)) both}
html.fx .hero-sceau .mj-anneau{will-change:transform;animation:mj-in 1.2s ease 0s both,sc-tourne 240s linear infinite}
@keyframes sc-tourne{to{transform:rotate(360deg)}}
/* texte du hero */
@keyframes sc-texte-in{from{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
html.fx .sc-texte>*{animation:sc-texte-in 1.1s cubic-bezier(.2,.7,.2,1) both}
html.fx .sc-texte>:nth-child(1){animation-delay:calc(2.05s*var(--t))}
html.fx .sc-texte>:nth-child(2){animation-delay:calc(2.3s*var(--t))}
html.fx .sc-texte>:nth-child(3){animation-delay:calc(2.55s*var(--t))}
html.fx .hero-sceau .descendre{animation:mj-in 1s ease calc(3s*var(--t)) both}
html{--t:1}html.fx.court{--t:.35}
/* ===== Illumination : la lumière naît du joyau, court dans les arêtes, embrase le XXII, puis se pose ===== */
.mj-rays{inset:-24% !important;width:auto !important;height:auto !important;opacity:.26;
 -webkit-mask:radial-gradient(closest-side,#000 14%,rgba(0,0,0,.45) 46%,transparent 96%);mask:radial-gradient(closest-side,#000 14%,rgba(0,0,0,.45) 46%,transparent 96%)}
.mj-rays i{position:absolute;left:25%;top:25%;width:50%;height:50%;display:block;border-radius:50%;transform:scale(2);
 background:repeating-conic-gradient(from 2deg,rgba(240,243,252,0) 0deg,rgba(240,243,252,.26) 6deg,rgba(240,243,252,0) 12deg 24deg),
  repeating-conic-gradient(from 7deg,rgba(255,255,255,0) 0deg,rgba(255,255,255,.2) 3deg,rgba(255,255,255,0) 6deg 15deg),
  repeating-conic-gradient(from 19deg,rgba(236,240,252,0) 0deg,rgba(236,240,252,.22) 10deg,rgba(236,240,252,0) 20deg 40deg);filter:blur(1.5px)}
.mj-source{background:radial-gradient(circle at var(--jx) var(--jy),rgba(255,255,255,.95),rgba(236,241,252,.4) 4%,rgba(220,228,245,.12) 12%,transparent 24%);opacity:0}
.mj-illum{-webkit-mask:url(assets/joyau-masque.svg?v=2a274c8759) center/100% 100% no-repeat;mask:url(assets/joyau-masque.svg?v=2a274c8759) center/100% 100% no-repeat;overflow:hidden}
.mj-illum i{position:absolute;display:block;opacity:0}
.il-plein{inset:0;background:radial-gradient(circle at var(--jx) var(--jy),#fff 0,#FBFCFF 40%,#EEF2FA 75%)}
.il-onde{left:calc(var(--jx) - 60%);top:calc(var(--jy) - 60%);width:120%;height:120%;border-radius:50%;
 background:radial-gradient(closest-side,rgba(255,255,255,0) 52%,rgba(255,255,255,.95) 74%,rgba(255,255,255,.35) 86%,rgba(255,255,255,0) 100%)}
.mj-flux path{stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-dasharray:.16 1.2;stroke-dashoffset:.16;opacity:0}
html.fx .mj-rays i{will-change:transform;animation:mj-tourne-r 140s linear infinite}
@keyframes mj-tourne-r{from{transform:scale(2) rotate(0)}to{transform:scale(2) rotate(360deg)}}
html.fx .mj-rays{will-change:opacity;animation:mj-rays 3.6s cubic-bezier(.3,0,.2,1) calc(1.5s*var(--t)) both,mj-pouls-rays 11s ease-in-out calc(7.5s*var(--t)) infinite}
@keyframes mj-rays{0%{opacity:0}30%{opacity:.85}100%{opacity:.26}}
@keyframes mj-pouls-rays{0%,32%,100%{opacity:.26}11%{opacity:.55}}
html.fx .mj-source{will-change:opacity;animation:mj-source 2.6s ease-out calc(1.25s*var(--t)) both,mj-pouls-src 11s ease-in-out calc(7.5s*var(--t)) infinite}
@keyframes mj-source{0%{opacity:0}18%{opacity:1}100%{opacity:.18}}
@keyframes mj-pouls-src{0%,30%,100%{opacity:.18}6%{opacity:.85}}
html.fx .mj-source{opacity:.18}
html.fx .il-onde{will-change:transform,opacity;animation:mj-onde 1.25s cubic-bezier(.35,0,.25,1) calc(1.4s*var(--t)) both,mj-pouls-onde 11s cubic-bezier(.35,0,.25,1) calc(7.5s*var(--t)) infinite}
@keyframes mj-onde{0%{opacity:1;transform:scale(.04)}75%{opacity:1}100%{opacity:0;transform:scale(1.6)}}
@keyframes mj-pouls-onde{0%{opacity:.7;transform:scale(.04)}12%{opacity:.6}16%,100%{opacity:0;transform:scale(1.6)}}
html.fx .il-plein{will-change:opacity;animation:mj-plein 2.4s cubic-bezier(.4,0,.2,1) calc(2s*var(--t)) both,mj-pouls-plein 11s ease-in-out calc(7.5s*var(--t)) infinite}
@keyframes mj-plein{0%{opacity:0}28%{opacity:.92}100%{opacity:0}}
@keyframes mj-pouls-plein{0%,30%,100%{opacity:0}12%{opacity:.32}}
html.fx .mj-flux path{animation:mj-flux 1.1s cubic-bezier(.45,0,.3,1) calc((1.55s + var(--i)*.06s)*var(--t)) both,mj-pouls-flux 11s cubic-bezier(.45,0,.3,1) calc(7.6s*var(--t) + var(--i)*.05s) infinite}
@keyframes mj-flux{0%{opacity:1;stroke-dashoffset:.16}85%{opacity:1}100%{opacity:0;stroke-dashoffset:-1.04}}
@keyframes mj-pouls-flux{0%{opacity:.8;stroke-dashoffset:.16}11%{opacity:.8}13%,100%{opacity:0;stroke-dashoffset:-1.04}}
.sc-scene{cursor:pointer;-webkit-tap-highlight-color:transparent}
html.fx:has(.hero-sceau) .nav{animation:mj-in 1.2s ease calc(1.8s*var(--t)) both}
/* parallaxe, inclinaison, seuil de lumière au scroll */
html.fx .sc-tilt{transform:translate3d(calc(var(--mx,0)*-10px),calc(var(--sy,0)*.2px),0) rotateX(calc(var(--my,0)*-9deg)) rotateY(calc(var(--mx,0)*11deg)) scale(calc(1 + var(--sy,0)/1500));will-change:transform}
html.fx .sc-seuil{opacity:calc(var(--sy,0)/620);transform:translateY(calc(var(--sy,0)*.2px)) scale(calc(.35 + var(--sy,0)/420))}
html.fx .sc-texte{transform:translateY(calc(var(--sy,0)*.06px));opacity:calc(1 - var(--sy,0)/480)}
.hero-sceau .poussiere{z-index:1}
/* — transition : mini monogramme — */
.rideau svg{width:120px;height:auto;overflow:visible;filter:drop-shadow(0 0 14px rgba(220,230,255,.45))}
html.fx .rideau svg{opacity:0;transform:scale(.92);transition:opacity .45s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
html.fx .rideau.go svg,html.fx.tr .rideau:not(.out) svg{opacity:1;transform:none}
html.fx .rideau{opacity:0}
html.fx.tr .rideau{opacity:1}
html.fx.tr .rideau.out{opacity:0}
html.fx .rideau.go{opacity:1}
/* — logo d'en-tête : monogramme — */
.wm-mini .x{display:block;line-height:0}
.mono-mini{display:block;height:30px;width:auto;overflow:visible;filter:drop-shadow(0 0 5px rgba(220,230,255,.22))}
footer .mono-mini{height:34px}
@media (max-width:760px){.mono-mini{height:24px}}
/* ============ IMAGES ============ */
.fond{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.fond img{width:100%;height:100%;object-fit:cover;display:block}
.mythe,.vision,.lettre,.vhero,.maison{position:relative}
.mythe>.wrap,.vision>.wrap,.lettre>.wrap,.vhero>.wrap{position:relative;z-index:1}
.f-mythe{right:auto;width:58%;opacity:.34;-webkit-mask-image:radial-gradient(ellipse 80% 75% at 12% 45%,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse 80% 75% at 12% 45%,#000 25%,transparent 75%)}
.mythe .wrap{text-shadow:0 1px 14px rgba(8,8,12,.9)}
.f-mythe img{object-position:20% 40%}
.f-vision{bottom:auto;height:640px;opacity:.55;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 45%,transparent 100%)}
.f-vision img{object-position:50% 60%}
.vision .sec-head{text-shadow:0 2px 24px #0A090C}
.f-lettre{opacity:.5;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 60% 50%,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 60% 50%,#000 25%,transparent 75%)}
.f-vhero{opacity:.7;left:30%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 80%,transparent),linear-gradient(180deg,transparent,#000 18%,#000 62%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 35%,#000 80%,transparent),linear-gradient(180deg,transparent,#000 18%,#000 62%,transparent);mask-composite:intersect}
.f-vhero img{object-position:70% 30%}
.vhero .poussiere{z-index:0}
.maison{overflow:hidden}
.maison>*:not(.fond){position:relative;z-index:1}
.m-img{bottom:auto;height:300px;opacity:.6;-webkit-mask-image:linear-gradient(180deg,#000 20%,transparent 92%);mask-image:linear-gradient(180deg,#000 20%,transparent 92%);transition:opacity .8s ease,transform 1.4s cubic-bezier(.2,.7,.2,1)}
.m-img img{object-position:50% 55%}
.maison.scellee .m-img{opacity:.32;filter:saturate(.55)}
.maison:hover .m-img{opacity:.78;transform:scale(1.04)}
.maison.scellee:hover .m-img{opacity:.45}
.arcane .in{background:#0B0A0E}
.arc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;opacity:.62;z-index:0;
 -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 70%,transparent 100%)}
.arcane .in>*:not(.arc-img){position:relative;z-index:1}
.arcane .in>.tree-in{position:absolute}
.arcane .heb svg{filter:drop-shadow(0 0 18px rgba(10,9,12,.95))}
.pause{position:relative;height:440px;overflow:hidden;border-top:1px solid var(--filet)}
.pause img{width:100%;height:100%;object-fit:cover;object-position:60% 60%;opacity:.75;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 70%,transparent),linear-gradient(90deg,transparent,#000 25%,#000 85%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent,#000 22%,#000 70%,transparent),linear-gradient(90deg,transparent,#000 25%,#000 85%,transparent);mask-composite:intersect}

@media (max-width:760px){
 .hero-sceau{min-height:0;padding:96px 18px 104px}
 .sc-scene{width:min(94vw,470px);margin-top:-8px}
 .hero-sceau .wordmark .rules{gap:10px}.hero-sceau .wordmark .rules i{width:26px}
 .hero-sceau .wordmark .lt{font-size:12px;letter-spacing:.38em;margin-right:-.38em}
 .hero-sceau .wordmark .voie{font-size:21px}
 .hero-sceau .appel{font-size:18px;margin:16px auto 24px}
 .f-mythe{width:100%;height:520px;bottom:auto;opacity:.28}
 .f-vision{height:460px}
 .f-vhero{left:0;opacity:.45}
 .m-img{height:240px}
 .pause{height:260px}
}

.vhero>div.fond{position:absolute;z-index:0}
/* polish typo final */
h1,h2,h3,.kicker{text-wrap:balance}
p,li,blockquote,figcaption{text-wrap:pretty;hanging-punctuation:first}
::selection{background:rgba(201,162,74,.35);color:#fff}
/* ===== Sigils & Verbe : Les Expériences ===== */
.suite .lede{max-width:620px;margin:22px auto 0;font-size:19px;color:var(--cendre)}
.experiences{position:relative;overflow:hidden;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(var(--gem-rgb),.07),transparent 70%)}
.parcours{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.phase{padding:44px 40px 40px;position:relative}
.phase+.phase{border-left:1px solid var(--filet)}
.ph-t{display:flex;flex-direction:column;gap:10px;padding-bottom:22px;margin-bottom:6px;border-bottom:1px solid var(--filet)}
.ph-t span{font-family:var(--display);font-style:italic;font-size:34px;color:var(--gem-clair);line-height:1}
.ph-t small{font-family:var(--caps);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--brume)}
.phase ol{list-style:none;position:relative}
.phase ol::before{content:"";position:absolute;left:3.5px;top:30px;bottom:30px;width:1px;background:linear-gradient(var(--filet-fort),rgba(var(--gem-rgb),.08))}
.phase li{position:relative;padding:24px 0 22px 30px}
.phase li::before{content:"";position:absolute;left:0;top:31px;width:8px;height:8px;transform:rotate(45deg);background:var(--nuit);border:1px solid var(--gem);box-shadow:0 0 12px rgba(var(--gem-rgb),.45)}
.phase li+li{border-top:1px solid rgba(var(--gem-rgb),.08)}
.x-num{font-family:var(--caps);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gem)}
.phase h4{font-family:var(--display);font-weight:500;font-size:25px;line-height:1.18;color:var(--ivoire);margin-top:8px}
.phase p{font-size:16.5px;line-height:1.55;color:var(--cendre);margin-top:8px}
.x-chap{display:block;margin-top:10px;font-family:var(--display);font-style:italic;font-size:14.5px;color:var(--brume)}
.epreuve-rite{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:baseline;max-width:900px;margin:64px auto 0;padding:30px 36px;border:1px solid var(--filet-fort);position:relative}
.epreuve-rite::before{content:"";position:absolute;inset:6px;border:1px solid var(--filet);pointer-events:none}
.epreuve-rite p{font-family:var(--display);font-size:23px;line-height:1.4;color:var(--ivoire)}
.honnete{max-width:640px;margin:40px auto 0;text-align:center;font-family:var(--display);font-style:italic;font-size:19px;line-height:1.5;color:var(--cendre)}
/* sigils à expérimenter */
.sx-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.sx-c{border:1px solid var(--filet);padding:34px 24px 28px;text-align:center;background:radial-gradient(circle at 50% 36%,rgba(var(--gem-rgb),.08),transparent 62%),linear-gradient(180deg,rgba(27,24,32,.55),rgba(14,12,16,.35));transition:border-color .6s,box-shadow .6s}
.sx-c:hover{border-color:var(--filet-fort);box-shadow:0 30px 70px -40px rgba(var(--gem-rgb),.5)}
.gl{width:62%;max-width:150px;height:auto;display:block;margin:0 auto;overflow:visible;filter:drop-shadow(0 0 7px rgba(var(--gem-rgb),.35))}
.gl path{fill:none;stroke:var(--gem-clair);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.gl .pt{fill:var(--gem-clair)}
.gl .orbe{fill:none;stroke:rgba(var(--gem-rgb),.16);stroke-width:1;stroke-dasharray:2 5}
.sx-c figcaption{margin-top:26px}
.sx-c b{display:block;font-family:var(--display);font-weight:500;font-size:27px;color:var(--ivoire)}
.sx-c q{display:block;margin-top:6px;font-family:var(--display);font-style:italic;font-size:18px;color:var(--gem-clair);quotes:"« " " »"}
.sx-c small{display:block;margin-top:14px;font-family:var(--caps);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--brume)}
.fx .gl path{stroke-dasharray:1;stroke-dashoffset:1}
.fx .gl .pt{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.2)}
.fx .gl .orbe{opacity:0}
.fx .in .gl path{animation:sx-trace 1.5s cubic-bezier(.45,0,.2,1) forwards;animation-delay:calc(var(--rd,0s) + .25s + var(--i)*.42s)}
.fx .in .gl .pt{animation:sx-pt .9s cubic-bezier(.2,.9,.3,1.3) forwards;animation-delay:calc(var(--rd,0s) + .4s + var(--i)*.42s)}
.fx .in .gl .orbe{animation:sx-orbe 2s ease forwards;animation-delay:var(--rd,0s)}
.fx .in .gl{animation:sx-lueur 3.5s ease-out both;animation-delay:calc(var(--rd,0s) + 2.2s)}
@keyframes sx-trace{to{stroke-dashoffset:0}}
@keyframes sx-pt{to{opacity:1;transform:none}}
@keyframes sx-orbe{to{opacity:1}}
@keyframes sx-lueur{0%{filter:drop-shadow(0 0 7px rgba(var(--gem-rgb),.35))}35%{filter:drop-shadow(0 0 16px rgba(var(--gem-rgb),.8))}100%{filter:drop-shadow(0 0 7px rgba(var(--gem-rgb),.35))}}
/* carnet */
.carnet-bloc{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center;margin-top:100px}
.carnet-bloc .label{display:block;margin-bottom:18px}
.carnet-bloc h3{font-family:var(--display);font-weight:400;font-size:44px;line-height:1.1;color:var(--ivoire)}
.carnet-bloc h3 em{font-style:italic;color:var(--gem-clair)}
.carnet-bloc p{margin-top:20px;font-size:19px}
.carnet{background:#ECEEF1;color:#24262C;padding:40px 46px 34px;font-family:var(--texte);transform:rotate(1deg);box-shadow:0 40px 90px -30px rgba(0,0,0,.8),0 0 0 1px rgba(var(--gem-rgb),.3);background-image:linear-gradient(90deg,transparent 30px,rgba(162,72,58,.0) 30px)}
.carnet .ent{display:flex;justify-content:space-between;gap:12px;font-family:var(--caps);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#5E6F8E;border-bottom:1px solid rgba(94,111,142,.35);padding-bottom:12px;margin-bottom:18px}
.carnet-bloc .carnet p{margin-top:0;padding:12px 0 12px;border-bottom:1px solid rgba(94,111,142,.16);font-family:var(--display);font-style:italic;font-size:18px;line-height:1.5;color:#2C2F37}
.carnet b{display:block;font-family:var(--caps);font-style:normal;font-weight:400;font-size:10px;letter-spacing:.2em;color:#5E6F8E}
.carnet mark{background:linear-gradient(transparent 55%,rgba(150,172,210,.4) 55%);color:inherit}
@media (max-width:980px){.sx-grille{grid-template-columns:1fr 1fr}.parcours{grid-template-columns:1fr}.phase+.phase{border-left:0;border-top:1px solid var(--filet)}}
@media (max-width:760px){
 .phase{padding:34px 0 26px}.ph-t span{font-size:30px}.phase h4{font-size:23px}
 .epreuve-rite{grid-template-columns:1fr;gap:12px;margin-top:46px;padding:26px 22px}.epreuve-rite p{font-size:20px}
 .honnete{font-size:17.5px}
 .sx-grille{gap:12px}.sx-c{padding:24px 12px 20px}.gl{width:74%}.sx-c b{font-size:22px}.sx-c q{font-size:15.5px}.sx-c small{font-size:8.5px;letter-spacing:.16em}
 .carnet-bloc{grid-template-columns:1fr;gap:40px;margin-top:70px}.carnet-bloc h3{font-size:34px}.carnet-bloc p{font-size:17.5px}
 .carnet{padding:28px 22px 22px;transform:none}.carnet-bloc .carnet p{font-size:16.5px}
}
@media (prefers-reduced-motion:reduce){.gl path{stroke-dashoffset:0!important}.gl .pt,.gl .orbe{opacity:1!important;transform:none!important}}
@media (max-width:760px){.carnet .ent{flex-direction:column;gap:4px}.sx-c small{letter-spacing:.1em}}

/* ================= PHASE 3 : pages, légal, espace ================= */
.pot{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.mention{font-size:13.5px;color:var(--brume);font-style:italic;margin-top:8px}
mark.todo{background:rgba(220,60,60,.16);color:#F2B8B0;border:1px dashed rgba(240,120,110,.6);padding:1px 6px;font-family:var(--caps);font-size:.72em;letter-spacing:.08em;border-radius:2px}
.phero{padding:56px 0 90px}
.phero h1{font-size:96px}
.ph-doc h1{font-size:76px}
.phero .maj{font-family:var(--caps);font-size:11px;letter-spacing:.24em;color:var(--brume);margin-top:30px}
.corresp{font-family:var(--display);font-style:italic;font-size:24px;color:var(--or-clair);margin-top:18px}
/* manifeste */
.manif-txt{display:flex;flex-direction:column;max-width:720px;margin:0 auto;text-align:center}
.manif-txt>p{font-family:var(--display);font-size:25px;line-height:1.5;color:var(--ivoire);margin:0 0 26px}
.manif-txt .ouv{font-size:46px;font-style:italic;color:var(--or-clair);line-height:1.15}
.manif-txt .coupe{font-size:34px;font-style:italic;color:var(--or-clair);margin:22px 0 40px;position:relative;padding-top:40px}
.manif-txt .coupe:before{content:"";position:absolute;top:0;left:50%;width:7px;height:7px;background:var(--or);transform:translateX(-50%) rotate(45deg);box-shadow:-40px 0 0 -2px var(--filet-fort),40px 0 0 -2px var(--filet-fort)}
.manif-txt .fort{font-size:28px;color:var(--or-clair)}
.manif-regles{margin:30px auto 34px;padding:34px 0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);width:100%}
.manif-regles p{font-family:var(--caps);font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--or);line-height:2.2;margin:0}
.manif-appel{font-family:var(--display);font-size:30px!important;line-height:1.3}
.manif-appel em{color:var(--or-clair)}
.manif-sign{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:20px}
.manif-sign span{font-family:var(--caps);letter-spacing:.32em;font-size:14px;color:var(--or)}
.manif-sign small{font-family:var(--display);font-style:italic;font-size:19px;color:var(--cendre)}
/* vision */
.vis-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vis-c{padding:40px 32px 36px;border:1px solid var(--filet);background:linear-gradient(180deg,rgba(201,169,97,.05),rgba(18,16,22,.5) 60%);position:relative}
.vis-c .r{position:absolute;top:22px;right:26px;font-family:var(--caps);font-size:12px;color:var(--brume);letter-spacing:.14em}
.vis-c .im{font-family:var(--caps);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--or)}
.vis-c h3{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.12;margin:14px 0 14px;color:var(--ivoire)}
.vis-c h3 em{color:var(--or-clair)}
.vis-c p{font-size:16.5px;line-height:1.6;color:var(--cendre);margin:0}
.vis-fin{max-width:760px;margin:70px auto 0;text-align:center}
.vis-fin p{font-family:var(--display);font-size:25px;line-height:1.5}
.vis-fin em{color:var(--or-clair)}
.vis-fin .petit{font-family:var(--texte);font-size:17px;color:var(--cendre);margin-top:22px}
.vis-fin .sceau-l{font-style:italic;font-size:34px;color:var(--or-clair);margin-top:26px}
/* sphères */
.spheres{list-style:none;padding:0;margin:0 auto;max-width:900px;display:grid;grid-template-columns:1fr 1fr;gap:0 44px;counter-reset:s}
.spheres li{display:flex;align-items:baseline;gap:18px;padding:16px 0;border-bottom:1px solid var(--filet)}
.spheres b{font-family:var(--display);font-weight:400;font-size:24px;color:var(--ivoire);min-width:150px}
.spheres span{font-size:16px;color:var(--cendre);font-style:italic}
.spheres .silence b{color:var(--brume)}
.spheres .faille b{color:var(--or-clair)}
.regles.q4{grid-template-columns:repeat(2,1fr)}
.etapes.e3{grid-template-columns:repeat(3,1fr)}
.seuil-l{max-width:720px;margin:0 auto;text-align:center}
.seuil-l p{font-family:var(--display);font-size:24px;line-height:1.5}
.seuil-l .geste{font-style:italic;color:var(--or-clair);padding:34px 36px;border:1px solid var(--filet);margin-top:28px;background:rgba(18,16,22,.5)}
/* bateleur */
.bat-hero{display:grid;grid-template-columns:1fr 400px;gap:80px;align-items:center}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:1000px;margin:0 auto}
.deux p{font-size:19px}
.arts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.art{padding:34px 26px;border:1px solid rgba(var(--gem-rgb),.28);text-align:center;background:radial-gradient(ellipse 80% 50% at 50% 0,rgba(var(--gem-rgb),.10),transparent 70%),rgba(18,16,22,.5)}
.art svg{width:96px;height:96px;margin:0 auto 18px;display:block}
.art .k{font-family:var(--caps);font-size:10.5px;letter-spacing:.26em;color:var(--gem-clair);text-transform:uppercase}
.art h4{font-family:var(--display);font-weight:400;font-size:28px;margin:10px 0;color:var(--ivoire)}
.art p{font-size:15.5px;color:var(--cendre);margin:0;line-height:1.55}
.lettre-b{max-width:720px;margin:0 auto;padding:60px 64px;border:1px solid var(--filet);background:rgba(18,16,22,.55);position:relative}
.lettre-b:before{content:"";position:absolute;inset:8px;border:1px solid var(--filet);pointer-events:none}
.lettre-b p{font-size:19.5px;line-height:1.7;margin:0 0 20px}
.lettre-b .ouv{font-family:var(--display);font-style:italic;font-size:36px;color:var(--or-clair);line-height:1.2}
.lettre-b em{color:var(--or-clair)}
.bateleur .sec-head,.ph-bat ~ .bateleur .sec-head{text-align:center}
.pg .bateleur .wrap{display:block}
.pg .bateleur .conseil{justify-content:center}
.pg .bateleur .conseil-leg{text-align:center}
.bat-liens{display:flex;gap:40px;justify-content:center;margin-top:50px}
/* sur-mesure */
.formules{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.formule{padding:44px 34px;border:1px solid var(--filet);background:rgba(18,16,22,.55);display:flex;flex-direction:column}
.formule.phare{border-color:var(--filet-fort);box-shadow:0 30px 70px -40px rgba(201,169,97,.4)}
.formule .k{font-family:var(--caps);font-size:11px;letter-spacing:.28em;color:var(--or);text-transform:uppercase}
.formule h3{font-family:var(--display);font-weight:400;font-size:40px;margin:12px 0 6px}
.formule .px{font-family:var(--display);font-size:26px;color:var(--or-clair);font-style:italic}
.formule p{font-size:16.5px;color:var(--cendre);margin:16px 0}
.formule ul{list-style:none;padding:18px 0 0;margin:auto 0 0;border-top:1px solid var(--filet)}
.formule li{font-size:15.5px;padding:6px 0 6px 20px;position:relative}
.formule li:before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;background:var(--or);transform:rotate(45deg)}
.audit-f,.oeuvre-f{max-width:820px;margin:0 auto}
.ident{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-bottom:40px}
.legend,.q legend{display:block;font-family:var(--display);font-size:22px;color:var(--ivoire);margin-bottom:12px;padding:0}
.audit-f input[type=text],.audit-f input[type=email],.oeuvre-f input[type=text],.oeuvre-f input[type=email],.audit-f textarea,.oeuvre-f textarea,.cha textarea{width:100%;background:rgba(10,9,12,.5);border:1px solid var(--filet);color:var(--ivoire);font-family:var(--texte);font-size:17px;padding:14px 16px;outline:0;border-radius:1px;resize:vertical;transition:border-color .2s}
.audit-f input:focus,.oeuvre-f input:focus,.audit-f textarea:focus,.oeuvre-f textarea:focus,.cha textarea:focus{border-color:var(--or)}
.qs{list-style:none;padding:0;margin:0}
.qs>li{display:grid;grid-template-columns:54px 1fr;gap:10px;padding:30px 0;border-top:1px solid var(--filet)}
.qn{font-family:var(--caps);font-size:13px;color:var(--or);letter-spacing:.12em;padding-top:6px}
.q{display:block;border:0;margin:0;padding:0;min-width:0}
.opts{display:flex;flex-wrap:wrap;gap:10px}
.opts label{cursor:pointer}
.opts input{position:absolute;opacity:0}
.opts span{display:inline-block;padding:10px 18px;border:1px solid var(--filet);font-size:15.5px;color:var(--cendre);transition:.2s}
.opts input:checked+span{border-color:var(--or);color:#15110A;background:var(--or)}
.opts input:focus-visible+span{outline:1px solid var(--or-clair);outline-offset:2px}
.consent{display:flex;gap:14px;align-items:flex-start;margin:30px 0 0;font-size:15.5px;color:var(--cendre);cursor:pointer}
.consent input{margin-top:6px;accent-color:#C9A961;width:18px;height:18px;flex:none}
.envoi{display:flex;align-items:center;gap:30px;margin-top:34px;flex-wrap:wrap}
.envoi .alt{font-size:15px;color:var(--brume);margin:0}
.statut{margin-top:22px;font-family:var(--display);font-style:italic;font-size:22px;color:var(--or-clair);min-height:1em}
.statut.err{color:#F2B8B0}
.note-bien{text-align:center;font-size:15px;color:var(--brume);margin-top:60px}
form.ok>*:not(.statut){display:none}
form.ok .statut{font-size:26px;text-align:center}
/* documents légaux */
.doc-g{display:grid;grid-template-columns:260px 1fr;gap:0 80px;align-items:start}
.toc{grid-row:1/span 30;position:sticky;top:110px}
.toc ol{list-style:none;padding:0;margin:0}
.toc a{display:flex;gap:12px;padding:7px 0;font-size:15px;color:var(--cendre);border-bottom:1px solid var(--filet)}
.toc a span{font-family:var(--caps);font-size:11px;color:var(--or);min-width:30px;padding-top:3px}
.toc a:hover{color:var(--or-clair)}
.d-sec{grid-column:2;max-width:760px;padding-bottom:50px;scroll-margin-top:100px}
.d-sec h2{font-size:36px;display:flex;gap:18px;align-items:baseline;margin:0 0 22px}
.d-sec .dn{font-family:var(--caps);font-size:13px;color:var(--or);letter-spacing:.12em}
.d-sec p,.d-sec li{font-size:17.5px;line-height:1.7;color:var(--cendre)}
.d-sec p{margin:0 0 14px}
.d-sec b{color:var(--ivoire);font-weight:500}
.d-sec a{color:var(--or-clair);border-bottom:1px solid var(--filet-fort)}
.d-sec ul{padding-left:20px;margin:0 0 14px}
.d-sec .fort{font-family:var(--display);font-size:25px;color:var(--or-clair);font-style:italic;line-height:1.35}
/* espace membre */
.e-top{position:sticky;top:0;z-index:20;background:rgba(10,9,12,.82);backdrop-filter:blur(10px);border-bottom:1px solid rgba(200,214,236,.14)}
.e-top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.e-mono{font-family:var(--caps);font-size:20px;letter-spacing:.2em;color:#C9A961}
.e-m{font-family:var(--caps);font-size:11px;letter-spacing:.24em;color:#A7B3C6;text-transform:uppercase}
.e-m b{color:#EEF3FB;font-weight:400}
.e-aide{font-family:var(--display);font-style:italic;color:#EEF3FB;font-size:17px;border-bottom:1px solid rgba(200,214,236,.3)}
.prog{max-width:520px;margin-top:36px}
.pb{height:3px;background:rgba(var(--gem-rgb),.16);position:relative;overflow:hidden}
.pb i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--gem-sombre),var(--gem-clair));box-shadow:0 0 12px rgba(var(--gem-rgb),.8);transition:width .8s cubic-bezier(.3,0,.2,1)}
.pn{display:block;margin-top:12px;font-family:var(--caps);font-size:11.5px;letter-spacing:.24em;color:var(--cendre);text-transform:uppercase}
.pn b{color:var(--gem-clair);font-weight:400}
.e-perso{font-size:14.5px;color:var(--brume);font-style:italic;margin-top:20px}
.docs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.doc-c{display:flex;flex-direction:column;text-align:left;padding:34px 30px;border:1px solid rgba(var(--gem-rgb),.25);background:radial-gradient(ellipse 70% 60% at 100% 0,rgba(var(--gem-rgb),.09),transparent 70%),rgba(18,16,22,.55);color:inherit;font:inherit;cursor:pointer;transition:border-color .25s,transform .25s}
.doc-c:hover{border-color:rgba(var(--gem-rgb),.6);transform:translateY(-2px)}
.doc-c .k{font-family:var(--caps);font-size:10.5px;letter-spacing:.26em;color:var(--gem-clair);text-transform:uppercase}
.doc-c h4{font-family:var(--display);font-weight:400;font-size:30px;margin:10px 0 8px;color:var(--ivoire)}
.doc-c p{font-size:15.5px;color:var(--cendre);margin:0 0 18px}
.doc-c .go{margin-top:auto;font-family:var(--caps);font-size:11.5px;letter-spacing:.24em;color:var(--gem-clair);text-transform:uppercase}
.doc-c .dm,.lecteur .lm{display:none;font-family:var(--caps);font-size:10px;letter-spacing:.1em;color:#F2B8B0;border:1px dashed rgba(240,120,110,.55);padding:4px 8px;margin-bottom:14px;align-self:flex-start}
.doc-c.manque .dm,.lecteur.manque .lm{display:inline-block}
.doc-c.manque{cursor:default;opacity:.85}
.doc-c.manque .go{opacity:.35}
.chs{display:flex;flex-direction:column;gap:12px;max-width:980px;margin:0 auto}
.cha{border:1px solid rgba(var(--gem-rgb),.2);background:rgba(18,16,22,.55);transition:border-color .3s}
.cha[open]{border-color:rgba(var(--gem-rgb),.48);box-shadow:0 30px 70px -50px rgba(var(--gem-rgb),.5)}
.cha summary{list-style:none;display:flex;align-items:center;gap:24px;padding:24px 30px;cursor:pointer}
.cha summary::-webkit-details-marker{display:none}
.ch-n{width:48px;height:48px;flex:none;border:1px solid rgba(var(--gem-rgb),.5);border-radius:50%;display:grid;place-items:center;font-family:var(--caps);font-size:12px;color:var(--gem-clair)}
.cha.fini .ch-n{background:var(--gem-clair);color:#0A090C;box-shadow:0 0 16px rgba(var(--gem-rgb),.7)}
.ch-t{flex:1;min-width:0}
.ch-t small{display:block;font-family:var(--caps);font-size:10.5px;letter-spacing:.26em;color:var(--brume);text-transform:uppercase}
.ch-t b{display:block;font-family:var(--display);font-weight:400;font-size:28px;color:var(--ivoire);line-height:1.2;margin-top:4px}
.ch-s{font-family:var(--caps);font-size:10px;letter-spacing:.2em;color:var(--gem-clair);text-transform:uppercase}
.cha.fini .ch-s:after{content:"Accompli"}
.ch-plus{width:14px;height:14px;position:relative;flex:none}
.ch-plus:before,.ch-plus:after{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:var(--gem-clair);transition:transform .3s}
.ch-plus:after{transform:rotate(90deg)}
.cha[open] .ch-plus:after{transform:rotate(0)}
.ch-c{padding:0 30px 34px 102px}
.ch-d{font-size:17.5px;color:var(--cendre);margin:0 0 22px}
.lecteur{display:flex;align-items:center;gap:20px;padding:18px 22px;border:1px solid rgba(var(--gem-rgb),.22);background:rgba(10,9,12,.5);flex-wrap:wrap}
.lp{width:50px;height:50px;border-radius:50%;border:1px solid var(--gem-clair);background:radial-gradient(circle,rgba(var(--gem-rgb),.2),transparent 70%);cursor:pointer;display:grid;place-items:center;flex:none}
.lp i{width:0;height:0;border-left:13px solid var(--gem-clair);border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.lecteur.joue .lp i{width:12px;height:15px;border:0;border-left:4px solid var(--gem-clair);border-right:4px solid var(--gem-clair);margin:0}
.lecteur.manque .lp{opacity:.35;cursor:not-allowed}
.lt{flex:1;min-width:180px;display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center}
.ln{grid-column:1/-1;font-family:var(--caps);font-size:10.5px;letter-spacing:.24em;color:var(--brume);text-transform:uppercase}
.lb{height:3px;background:rgba(var(--gem-rgb),.18);cursor:pointer;position:relative}
.lb i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--gem-clair);box-shadow:0 0 8px rgba(var(--gem-rgb),.8)}
.lc{font-family:var(--caps);font-size:11px;color:var(--cendre)}
.lecteur .lm{margin:0}
.ch-g{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
.bloc{padding:24px 24px;border:1px solid rgba(var(--gem-rgb),.18)}
.bloc .k,.carnet-z .k{font-family:var(--caps);font-size:10.5px;letter-spacing:.26em;color:var(--gem-clair);text-transform:uppercase}
.bloc h4{font-family:var(--display);font-weight:400;font-size:24px;margin:8px 0;color:var(--ivoire)}
.bloc p{font-size:16px;color:var(--cendre);margin:0;line-height:1.6}
.bloc.ep{background:radial-gradient(ellipse 80% 80% at 0 0,rgba(var(--gem-rgb),.08),transparent 70%)}
.carnet-z{display:block}
.carnet-z .k{display:block;margin-bottom:10px}
.carnet-z small{display:block;font-size:13.5px;color:var(--brume);font-style:italic;margin-top:8px}
.fait{display:inline-flex;gap:12px;align-items:center;margin-top:18px;cursor:pointer;font-family:var(--caps);font-size:12px;letter-spacing:.22em;color:var(--gem-clair);text-transform:uppercase}
.fait input{width:18px;height:18px;accent-color:#C8D6EC}
.fic{display:block;padding:26px 0;border-top:1px solid var(--filet)}
.fic input{display:block;width:100%;color:var(--cendre);font-family:var(--texte);font-size:15px}
.fic input::file-selector-button{margin-right:16px;padding:10px 18px;border:1px solid var(--filet-fort);background:transparent;color:var(--or-clair);font-family:var(--caps);font-size:11px;letter-spacing:.2em;cursor:pointer}
.fic small{display:block;color:var(--brume);font-size:14px;margin-top:8px}
.oeuvre-f .q{padding:26px 0;border-top:1px solid var(--filet)}
.up{flex:1;min-width:200px;display:flex;align-items:center;gap:14px}
.up .pb{flex:1}
.up span{font-family:var(--caps);font-size:12px;color:var(--gem-clair)}
.e-note{text-align:center;font-size:14.5px;color:var(--brume);padding:40px 24px}
.e-note a{color:var(--gem-clair)}
.e-pied{border-top:1px solid rgba(200,214,236,.14);padding:30px 0}
.e-pied .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:var(--caps);font-size:11px;letter-spacing:.2em;color:var(--brume)}
.e-pied nav{display:flex;gap:24px}
.e-pied a{color:var(--cendre)}
@media (max-width:980px){.vis-g,.arts{grid-template-columns:1fr 1fr}.bat-hero{grid-template-columns:1fr 320px;gap:40px}.formules{grid-template-columns:1fr}.doc-g{grid-template-columns:200px 1fr;gap:0 40px}}
@media (max-width:760px){
.phero{padding:36px 0 56px}.phero h1{font-size:56px}.ph-doc h1{font-size:46px}
.manif-txt>p{font-size:21px}.manif-txt .ouv{font-size:34px}.manif-txt .coupe{font-size:27px}.manif-txt .fort{font-size:23px}.manif-regles p{font-size:12px;letter-spacing:.14em;line-height:1.9;margin-bottom:8px}.manif-appel{font-size:24px!important}
.vis-g,.arts,.deux,.regles.q4,.etapes.e3,.docs,.ident,.ch-g{grid-template-columns:1fr}.vis-c{padding:32px 24px}.vis-c h3{font-size:27px}.vis-fin p{font-size:21px}.vis-fin .sceau-l{font-size:27px}
.spheres{grid-template-columns:1fr}.spheres li{flex-direction:column;gap:2px}.spheres b{font-size:22px}
.seuil-l p{font-size:20px}.seuil-l .geste{padding:24px 20px}
.bat-hero{grid-template-columns:1fr;gap:40px}.bat-hero .arcane{max-width:260px;margin:0 auto}
.lettre-b{padding:36px 24px}.lettre-b .ouv{font-size:28px}.lettre-b p{font-size:17.5px}
.bat-liens{flex-direction:column;align-items:center;gap:18px}
.formule{padding:32px 24px}.formule h3{font-size:34px}
.qs>li{grid-template-columns:1fr;gap:6px;padding:24px 0}.legend,.q legend{font-size:20px}.opts span{font-size:14.5px;padding:9px 14px}
.envoi{flex-direction:column;align-items:stretch;gap:14px}
.doc-g{grid-template-columns:minmax(0,1fr)}.doc-g>*{min-width:0}.d-sec{overflow-wrap:anywhere}.toc{position:static;grid-row:auto;margin-bottom:40px}.d-sec{grid-column:1}.d-sec h2{font-size:28px;display:block}.d-sec h2>span:first-child{display:block;margin-bottom:8px}.d-sec p,.d-sec li{font-size:16.5px}
.e-top .wrap{height:58px}.e-m{display:none}
.cha summary{padding:18px 16px;gap:14px}.ch-n{width:40px;height:40px}.ch-t b{font-size:22px}.ch-s{display:none}.ch-c{padding:0 16px 26px}
.lecteur{padding:14px}.doc-c{padding:26px 22px}
}
