
/* =========================================================
   GRAND LABYRINTHE — CERCLE 127
   V7.3.15
   ========================================================= */

.grand-labyrinth.gl127{
  --gl-gold:#dfc27d;
  --gl-gold-soft:#f2dea8;
  --gl-ivory:#f5eee1;
  --gl-night:#070a14;
  --gl-night-2:#0a0f20;
  --gl-panel:rgba(10,15,30,.76);
  --gl-text:#c8cbd7;
  --gl-muted:#8e94a5;
  --gl-line:rgba(223,194,125,.22);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:100vh;
  color:var(--gl-text);
  background:
    radial-gradient(circle at 50% 35%,rgba(82,93,151,.11),transparent 31rem),
    radial-gradient(circle at 52% 47%,rgba(223,194,125,.055),transparent 38rem),
    linear-gradient(180deg,#060913 0%,#090d1b 56%,#060913 100%);
}

.grand-labyrinth.gl127::before,
.grand-labyrinth.gl127::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
}

.grand-labyrinth.gl127::before{
  opacity:.24;
  background-image:
    radial-gradient(circle at 8% 18%,rgba(255,255,255,.7) 0 1px,transparent 1.4px),
    radial-gradient(circle at 72% 11%,rgba(242,222,168,.8) 0 1px,transparent 1.4px),
    radial-gradient(circle at 31% 73%,rgba(255,255,255,.55) 0 1px,transparent 1.3px);
  background-size:183px 173px,241px 227px,137px 149px;
}

.grand-labyrinth.gl127::after{
  z-index:-1;
  opacity:.22;
  background:
    radial-gradient(ellipse at 50% 106%,rgba(35,48,82,.58),transparent 48%),
    linear-gradient(90deg,transparent 0 47%,rgba(223,194,125,.035) 50%,transparent 53%);
}

.gl127-shell{
  display:grid;
  grid-template-columns:minmax(230px,.72fr) minmax(590px,1.9fr) minmax(250px,.76fr);
  gap:clamp(24px,3vw,48px);
  width:min(1540px,calc(100% - 46px));
  margin:0 auto;
  padding:clamp(54px,6vw,86px) 0 56px;
  align-items:center;
}

/* ---------- Intro ---------- */
.gl127-intro{
  align-self:center;
  max-width:320px;
}

.gl127-kicker{
  margin:0 0 18px;
  color:var(--gl-gold);
  font:700 .66rem/1.35 "Manrope",system-ui,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.gl127-intro h1{
  margin:0;
  color:var(--gl-ivory);
  font:500 clamp(3.1rem,5vw,5.5rem)/.88 "Cormorant Garamond",Georgia,serif;
  letter-spacing:-.035em;
}

.gl127-lead{
  margin:20px 0 0;
  color:#e1d9ca;
  font:500 clamp(1.08rem,1.55vw,1.3rem)/1.35 "Cormorant Garamond",Georgia,serif;
}

.gl127-copy{
  margin:22px 0 0;
  color:#a9adba;
  font:.92rem/1.72 "Manrope",system-ui,sans-serif;
}

.gl127-intro blockquote{
  margin:26px 0 0;
  padding:20px 0 0;
  border-top:1px solid rgba(223,194,125,.17);
  color:#ddd5ca;
  font:italic 1.04rem/1.55 "Cormorant Garamond",Georgia,serif;
}

.gl127-start{
  appearance:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  min-height:52px;
  margin-top:28px;
  padding:13px 17px;
  border:1px solid rgba(223,194,125,.42);
  border-radius:999px;
  color:#1a1620;
  background:linear-gradient(135deg,var(--gl-gold-soft),var(--gl-gold));
  font:800 .76rem/1 "Manrope",system-ui,sans-serif;
  letter-spacing:.035em;
  cursor:pointer;
  box-shadow:0 12px 34px rgba(0,0,0,.22);
  transition:transform .2s ease,box-shadow .2s ease;
}

.gl127-start:hover,
.gl127-start:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(0,0,0,.30),0 0 26px rgba(223,194,125,.09);
}

.gl127-start:focus-visible{
  outline:2px solid var(--gl-gold-soft);
  outline-offset:3px;
}

.gl127-legend{
  display:grid;
  gap:8px;
  margin-top:18px;
  color:#747b8d;
  font:.64rem/1.35 "Manrope",system-ui,sans-serif;
}

.gl127-legend span{display:flex;align-items:center;gap:8px}
.gl127-legend i{
  width:8px;height:8px;border:1px solid var(--gl-gold);border-radius:50%;
}
.gl127-legend span:first-child i{background:var(--gl-gold);box-shadow:0 0 11px rgba(223,194,125,.32)}
.gl127-legend span:last-child i{background:rgba(223,194,125,.20)}

/* ---------- Circular stage ---------- */
.gl127-stage-wrap{
  min-width:0;
  text-align:center;
}

.gl127-stage{
  position:relative;
  width:min(100%,820px);
  aspect-ratio:1;
  margin:0 auto;
}

.gl127-geometry{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  filter:drop-shadow(0 0 16px rgba(223,194,125,.03));
}

.gl127-halo{
  fill:url(#gl127-glow);
  opacity:.62;
}

.gl127-ring{
  fill:none;
  stroke:rgba(223,194,125,.28);
  vector-effect:non-scaling-stroke;
}

.gl127-ring--1{stroke-width:2}
.gl127-ring--2{stroke-width:1;stroke-dasharray:2 8;opacity:.78}
.gl127-ring--3{stroke-width:1;opacity:.46}
.gl127-ring--4{stroke-width:1;stroke-dasharray:1 7;opacity:.32}

.gl127-orbit{
  fill:none;
  stroke:rgba(223,194,125,.34);
  stroke-width:1.35;
  stroke-dasharray:3 10;
  vector-effect:non-scaling-stroke;
  animation:gl127-drift 28s linear infinite;
}

.gl127-spokes path{
  fill:none;
  stroke:rgba(223,194,125,.12);
  stroke-width:1;
  stroke-dasharray:1 8;
  vector-effect:non-scaling-stroke;
}

.gl127-stars circle{
  fill:#f2dea8;
  filter:drop-shadow(0 0 8px rgba(242,222,168,.8));
}

.gl127-stage::before,
.gl127-stage::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
}

.gl127-stage::before{
  inset:12%;
  border:1px solid rgba(112,121,167,.10);
  box-shadow:
    0 0 0 35px rgba(223,194,125,.015),
    0 0 80px rgba(55,68,110,.12) inset;
}

.gl127-stage::after{
  inset:28%;
  background:radial-gradient(circle,rgba(223,194,125,.07),transparent 66%);
  filter:blur(12px);
}

/* ---------- Centre 127 ---------- */
.gl127-centre{
  appearance:none;
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:43%;
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  padding:0;
  border:1px solid rgba(223,194,125,.42);
  border-radius:50%;
  overflow:hidden;
  color:var(--gl-ivory);
  background:
    radial-gradient(circle at 50% 62%,rgba(223,194,125,.08),transparent 32%),
    rgba(6,10,20,.60);
  cursor:pointer;
  box-shadow:
    0 0 0 12px rgba(223,194,125,.014),
    0 0 70px rgba(0,0,0,.34),
    inset 0 0 65px rgba(17,25,50,.46);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.gl127-centre:hover,
.gl127-centre:focus-visible,
.gl127-centre.is-active{
  transform:translate(-50%,-50%) scale(1.02);
  border-color:rgba(242,222,168,.74);
  box-shadow:
    0 0 0 14px rgba(223,194,125,.022),
    0 0 70px rgba(223,194,125,.08),
    inset 0 0 65px rgba(17,25,50,.48);
}

.gl127-centre:focus-visible{
  outline:2px solid var(--gl-gold-soft);
  outline-offset:4px;
}

.gl127-centre__image{
  position:absolute;
  inset:-14%;
  background:
    linear-gradient(180deg,rgba(7,10,20,.04),rgba(7,10,20,.30)),
    url("https://lecercle127.com/wp-content/uploads/2026/09/porte-du-cercle-127-2.png") center/contain no-repeat;
  opacity:.72;
  mix-blend-mode:screen;
  filter:saturate(.72) brightness(.85);
}

.gl127-centre__image::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle,transparent 32%,rgba(7,10,20,.18) 68%,rgba(7,10,20,.78) 100%);
}

.gl127-centre__seal{
  position:absolute;
  left:50%;
  top:53%;
  z-index:2;
  display:grid;
  width:72px;
  aspect-ratio:1;
  place-items:center;
  transform:translate(-50%,-50%);
  border:1px solid rgba(242,222,168,.58);
  border-radius:50%;
  color:var(--gl-gold-soft);
  background:rgba(6,9,18,.72);
  box-shadow:0 0 30px rgba(223,194,125,.10),inset 0 0 18px rgba(223,194,125,.05);
  font:500 1.35rem/1 "Cormorant Garamond",Georgia,serif;
  letter-spacing:.08em;
}

.gl127-centre__label{
  position:absolute;
  left:50%;
  bottom:13%;
  z-index:2;
  transform:translateX(-50%);
  color:#dbd2c2;
  font:600 .73rem/1 "Manrope",system-ui,sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* ---------- Seven portals ---------- */
.gl127-node{
  --size:118px;
  appearance:none;
  position:absolute;
  z-index:4;
  left:var(--x);
  top:var(--y);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  width:var(--size);
  padding:0;
  transform:translate(-50%,-50%);
  border:0;
  color:var(--gl-ivory);
  background:transparent;
  text-align:center;
  cursor:pointer;
}

.gl127-node__orb{
  display:grid;
  width:70px;
  aspect-ratio:1;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--accent),transparent 26%);
  border-radius:50%;
  color:var(--accent);
  background:
    radial-gradient(circle at 38% 34%,color-mix(in srgb,var(--accent),transparent 80%),transparent 34%),
    rgba(8,12,24,.88);
  box-shadow:
    0 0 0 7px rgba(223,194,125,.018),
    0 0 23px color-mix(in srgb,var(--accent),transparent 82%);
  font:500 1.5rem/1 Georgia,serif;
  transition:transform .23s ease,box-shadow .23s ease,border-color .23s ease,background .23s ease;
}

.gl127-node__text{
  display:block;
  min-width:118px;
  padding:5px 7px;
  border-radius:10px;
  background:linear-gradient(180deg,rgba(6,9,18,.58),rgba(6,9,18,.12));
}

.gl127-node strong{
  display:block;
  color:#f3ecdf;
  font:600 1.2rem/1 "Cormorant Garamond",Georgia,serif;
}

.gl127-node small{
  display:block;
  margin-top:3px;
  color:#8e94a5;
  font:.58rem/1.25 "Manrope",system-ui,sans-serif;
}

.gl127-node:hover .gl127-node__orb,
.gl127-node:focus-visible .gl127-node__orb{
  transform:scale(1.07);
  border-color:var(--gl-gold-soft);
  box-shadow:0 0 0 8px rgba(223,194,125,.025),0 0 31px color-mix(in srgb,var(--accent),transparent 70%);
}

.gl127-node:focus-visible{
  outline:none;
}

.gl127-node:focus-visible .gl127-node__text{
  outline:1px solid var(--gl-gold-soft);
  outline-offset:3px;
}

.gl127-node.is-active .gl127-node__orb{
  transform:scale(1.09);
  border-color:var(--gl-gold-soft);
  background:
    radial-gradient(circle at 38% 34%,color-mix(in srgb,var(--accent),transparent 68%),transparent 38%),
    rgba(11,16,31,.96);
  box-shadow:
    0 0 0 8px rgba(223,194,125,.045),
    0 0 35px color-mix(in srgb,var(--accent),transparent 60%),
    inset 0 0 19px color-mix(in srgb,var(--accent),transparent 88%);
}

.gl127-node.is-active strong{color:var(--gl-gold-soft)}
.gl127-node.is-visited:not(.is-active) .gl127-node__orb::after{
  content:"";
  position:absolute;
  width:6px;height:6px;
  margin:52px 0 0 50px;
  border-radius:50%;
  background:var(--gl-gold);
  box-shadow:0 0 8px rgba(223,194,125,.52);
}

/* ---------- Stage helper ---------- */
.gl127-stage-note{
  margin:7px auto 0;
  color:#737a8d;
  font:.68rem/1.45 "Manrope",system-ui,sans-serif;
  letter-spacing:.025em;
}

.gl127-mobile-map{display:none}

/* ---------- Right rail ---------- */
.gl127-rail{
  display:grid;
  gap:17px;
  align-self:center;
}

.gl127-focus,
.gl127-progress-card,
.gl127-tools{
  border:1px solid rgba(223,194,125,.16);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(13,19,37,.80),rgba(8,12,25,.74));
  box-shadow:0 20px 48px rgba(0,0,0,.22),inset 0 0 42px rgba(70,82,128,.025);
  backdrop-filter:blur(10px);
}

.gl127-focus{padding:22px 21px 20px}

.gl127-focus__head{
  display:flex;
  align-items:center;
  gap:13px;
}

.gl127-focus__glyph{
  display:grid;
  flex:0 0 46px;
  width:46px;
  aspect-ratio:1;
  place-items:center;
  border:1px solid rgba(223,194,125,.28);
  border-radius:50%;
  color:var(--gl-gold-soft);
  background:rgba(223,194,125,.025);
  font:500 1rem/1 Georgia,serif;
}

.gl127-focus__head p{
  margin:0 0 3px;
  color:var(--gl-gold);
  font:700 .58rem/1.25 "Manrope",system-ui,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.gl127-focus h2{
  margin:0;
  color:var(--gl-ivory);
  font:500 1.8rem/1 "Cormorant Garamond",Georgia,serif;
}

.gl127-focus__copy{
  margin:17px 0 0;
  color:#a8adba;
  font:.82rem/1.62 "Manrope",system-ui,sans-serif;
}

.gl127-focus blockquote{
  margin:17px 0 0;
  padding:14px 0 0;
  border-top:1px solid rgba(223,194,125,.12);
  color:#ddd5ca;
  font:italic .93rem/1.48 "Cormorant Garamond",Georgia,serif;
}

.gl127-focus__actions{
  display:grid;
  gap:8px;
  margin-top:19px;
}

.gl127-focus__actions a{
  display:flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:10px 13px;
  border-radius:999px;
  font:700 .68rem/1 "Manrope",system-ui,sans-serif;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}

.gl127-focus__primary{
  border:1px solid transparent;
  color:#1b1720;
  background:linear-gradient(135deg,var(--gl-gold-soft),var(--gl-gold));
}

.gl127-focus__secondary{
  border:1px solid rgba(223,194,125,.22);
  color:#d9d3ca;
  background:rgba(255,255,255,.01);
}

.gl127-focus__actions a:hover,
.gl127-focus__actions a:focus-visible{transform:translateY(-1px)}
.gl127-focus__actions a:focus-visible{outline:2px solid var(--gl-gold-soft);outline-offset:2px}

.gl127-progress-card{
  padding:16px 18px;
}

.gl127-progress-card>div:first-child{
  display:flex;
  align-items:center;
  gap:12px;
}

.gl127-progress-card__count{
  color:var(--gl-gold-soft);
  font:500 1.5rem/1 "Cormorant Garamond",Georgia,serif;
}

.gl127-progress-card__count b{font-weight:500}

.gl127-progress-card p{
  margin:0;
  color:#c4c6cf;
  font:.69rem/1.25 "Manrope",system-ui,sans-serif;
}

.gl127-progress-card p small{color:#72798b}

.gl127-progress-card__bar{
  height:3px;
  margin-top:12px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.055);
}

.gl127-progress-card__bar span{
  display:block;
  width:14.285%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--gl-gold),var(--gl-gold-soft));
  transition:width .35s ease;
}

.gl127-tools{
  padding:16px;
}

.gl127-tools>p{
  margin:0 0 10px;
  color:#777e90;
  font:700 .58rem/1 "Manrope",system-ui,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.gl127-tools a{
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:8px 4px;
  border-top:1px solid rgba(223,194,125,.085);
  color:#d7d2c9;
  text-decoration:none;
}

.gl127-tools a:first-of-type{border-top:0}

.gl127-tools a span{
  display:grid;
  width:28px;
  aspect-ratio:1;
  place-items:center;
  border:1px solid rgba(223,194,125,.20);
  border-radius:50%;
  color:var(--gl-gold);
  font:500 .8rem/1 Georgia,serif;
}

.gl127-tools a strong{
  font:600 .70rem/1.25 "Manrope",system-ui,sans-serif;
}

.gl127-tools a:hover strong,
.gl127-tools a:focus-visible strong{color:var(--gl-gold-soft)}

/* ---------- Bottom principles ---------- */
.gl127-principles{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  width:min(1500px,calc(100% - 46px));
  margin:0 auto;
  padding:22px 0 32px;
  border-top:1px solid rgba(223,194,125,.12);
}

.gl127-principles div{
  display:grid;
  grid-template-columns:42px 1fr;
  column-gap:12px;
  align-items:center;
  padding:10px 22px;
  border-left:1px solid rgba(223,194,125,.08);
}

.gl127-principles div:first-child{border-left:0}

.gl127-principles i{
  grid-row:1/3;
  display:grid;
  width:38px;
  aspect-ratio:1;
  place-items:center;
  border:1px solid rgba(223,194,125,.22);
  border-radius:50%;
  color:var(--gl-gold);
  font:500 .78rem/1 Georgia,serif;
  font-style:normal;
}

.gl127-principles strong{
  color:#ddd6ca;
  font:600 .78rem/1.25 "Manrope",system-ui,sans-serif;
}

.gl127-principles span{
  margin-top:3px;
  color:#747b8d;
  font:.62rem/1.35 "Manrope",system-ui,sans-serif;
}

@keyframes gl127-drift{to{stroke-dashoffset:-160}}

@media(max-width:1250px){
  .gl127-shell{
    grid-template-columns:minmax(210px,.72fr) minmax(540px,1.65fr);
  }
  .gl127-rail{
    grid-column:1/-1;
    grid-template-columns:1.2fr .7fr 1fr;
    align-items:stretch;
  }
  .gl127-focus{grid-column:auto}
  .gl127-intro{max-width:300px}
}

@media(max-width:900px){
  .gl127-shell{
    grid-template-columns:1fr;
    width:min(860px,calc(100% - 30px));
    padding-top:42px;
  }
  .gl127-intro{
    max-width:680px;
    margin:auto;
    text-align:center;
  }
  .gl127-intro h1{font-size:clamp(3.3rem,10vw,5.2rem);line-height:.92}
  .gl127-copy{max-width:620px;margin-inline:auto}
  .gl127-start{width:min(360px,100%);margin-inline:auto}
  .gl127-legend{display:none}
  .gl127-stage{width:min(100%,720px)}
  .gl127-rail{
    grid-column:auto;
    grid-template-columns:1fr 1fr;
  }
  .gl127-focus{grid-column:1/-1}
  .gl127-principles{
    grid-template-columns:1fr 1fr;
    width:min(860px,calc(100% - 30px));
  }
  .gl127-principles div:nth-child(3){border-left:0}
}

@media(max-width:640px){
  .gl127-shell{
    width:min(100% - 22px,520px);
    gap:26px;
  }
  .gl127-intro h1{font-size:clamp(3rem,16vw,4.4rem)}
  .gl127-lead{font-size:1.14rem}
  .gl127-copy{font-size:.86rem}
  .gl127-stage{
    width:min(100%,420px);
    margin-top:4px;
  }
  .gl127-node{display:none}
  .gl127-centre{width:56%}
  .gl127-centre__seal{width:58px;font-size:1.05rem}
  .gl127-centre__label{font-size:.59rem}
  .gl127-stage-note{margin-top:10px;padding-inline:10px}
  .gl127-mobile-map{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin-top:22px;
  }
  .gl127-mobile-node{
    appearance:none;
    display:grid;
    grid-template-columns:34px 1fr;
    grid-template-rows:auto auto;
    gap:1px 9px;
    align-items:center;
    min-height:58px;
    padding:8px 10px;
    border:1px solid rgba(223,194,125,.12);
    border-radius:13px;
    color:#ddd7cd;
    background:rgba(11,16,31,.72);
    text-align:left;
  }
  .gl127-mobile-node>span{
    grid-row:1/3;
    display:grid;
    width:32px;
    aspect-ratio:1;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--accent),transparent 40%);
    border-radius:50%;
    color:var(--accent);
  }
  .gl127-mobile-node strong{font:600 .86rem/1.1 "Cormorant Garamond",Georgia,serif}
  .gl127-mobile-node small{color:#7f8596;font:.52rem/1.25 "Manrope",system-ui,sans-serif}
  .gl127-mobile-node.is-active{border-color:rgba(223,194,125,.42);background:rgba(18,24,43,.84)}
  .gl127-mobile-node.is-active strong{color:var(--gl-gold-soft)}
  .gl127-rail{grid-template-columns:1fr}
  .gl127-focus{grid-column:auto}
  .gl127-principles{
    grid-template-columns:1fr;
    width:min(100% - 22px,520px);
  }
  .gl127-principles div{
    border-left:0;
    border-top:1px solid rgba(223,194,125,.07);
  }
  .gl127-principles div:first-child{border-top:0}
}

@media(prefers-reduced-motion:reduce){
  .gl127-orbit{animation:none!important}
  .gl127-node__orb,
  .gl127-start,
  .gl127-centre,
  .gl127-focus__actions a{transition:none!important}
}


/* =========================================================
   V7.3.16 — LE TEXTE REDEVIENT LE CHEMIN
   Les fonctions des Sœurs sont gravées sur l'orbite.
   ========================================================= */

.gl127-path-labels{
  pointer-events:none;
}

.gl127-path-label{
  fill:rgba(226,211,174,.68);
  font:700 11.5px/1 "Manrope",system-ui,sans-serif;
  letter-spacing:2.2px;
  text-transform:uppercase;
  text-anchor:middle;
  paint-order:stroke fill;
  stroke:rgba(7,10,20,.88);
  stroke-width:4px;
  stroke-linejoin:round;
  opacity:.78;
  transition:fill .25s ease,opacity .25s ease;
}

.gl127-path-label textPath{
  text-anchor:middle;
}

/* Noms = repères ; rôle = chemin. On évite deux niveaux de texte concurrents. */
@media(min-width:641px){
  .gl127-node__text{
    min-width:94px;
    padding:4px 6px;
    background:radial-gradient(ellipse at center,rgba(6,9,18,.72),rgba(6,9,18,0) 72%);
  }

  .gl127-node__text small{
    display:none;
  }

  .gl127-node strong{
    font-size:1.27rem;
    text-shadow:0 2px 8px rgba(4,6,14,.85);
  }
}

/* Chaque inscription reste subtile : elle guide sans transformer le Cercle en schéma. */
.gl127-path-label--oni{fill:rgba(242,222,168,.82)}
.gl127-path-label--alka{fill:rgba(169,194,247,.68)}
.gl127-path-label--naia{fill:rgba(143,218,211,.68)}
.gl127-path-label--terra{fill:rgba(169,201,138,.66)}
.gl127-path-label--ignis{fill:rgba(235,154,104,.68)}
.gl127-path-label--astria{fill:rgba(242,222,168,.72)}
.gl127-path-label--irma{fill:rgba(243,241,251,.68)}

/* Le chemin central reste dominant par rapport aux textes. */
.gl127-ring--1{
  stroke:rgba(223,194,125,.34);
}

.gl127-ring--2{
  stroke:rgba(223,194,125,.20);
}

/* Le nom est rapproché du médaillon ; le texte de fonction est désormais sur l'orbite. */
.gl127-node{
  gap:5px;
}

.gl127-node__orb{
  box-shadow:
    0 0 0 6px rgba(223,194,125,.014),
    0 0 23px color-mix(in srgb,var(--accent),transparent 82%);
}

/* Sur tablette, on réduit les inscriptions sans casser la géométrie. */
@media(max-width:1000px) and (min-width:641px){
  .gl127-path-label{
    font-size:10px;
    letter-spacing:1.55px;
  }
}

/* Sur mobile, les textes courbes disparaissent : la liste reprend les rôles lisiblement. */
@media(max-width:640px){
  .gl127-path-labels{
    display:none;
  }

  .gl127-mobile-node small{
    display:block;
  }
}

@media(prefers-reduced-motion:reduce){
  .gl127-path-label{
    transition:none!important;
  }
}


.gl127-path-label.is-active{
  fill:#f2dea8!important;
  opacity:1;
  filter:drop-shadow(0 0 5px rgba(223,194,125,.28));
}


/* =========================================================
   V7.3.17 — TEXTE GRAVÉ SUR LES RAILS DU CERCLE
   Plus aucun texte flottant sur desktop.
   ========================================================= */

.gl127-text-rails{
  pointer-events:none;
}

.gl127-text-rail{
  fill:none;
  vector-effect:non-scaling-stroke;
  transition:stroke .24s ease,opacity .24s ease,filter .24s ease;
}

.gl127-text-rail--outer{
  stroke:rgba(223,194,125,.20);
  stroke-width:1.1;
}

.gl127-text-rail--inner{
  stroke:rgba(223,194,125,.13);
  stroke-width:.9;
  stroke-dasharray:2 5;
}

.gl127-rail-name,
.gl127-rail-role{
  text-anchor:middle;
  paint-order:stroke fill;
  stroke:rgba(7,10,20,.94);
  stroke-linejoin:round;
  transition:fill .24s ease,opacity .24s ease,filter .24s ease;
}

.gl127-rail-name{
  fill:rgba(242,222,168,.90);
  stroke-width:5px;
  font:700 15px/1 "Cormorant Garamond",Georgia,serif;
  letter-spacing:3.2px;
}

.gl127-rail-role{
  fill:rgba(206,199,185,.72);
  stroke-width:4px;
  font:700 10.5px/1 "Manrope",system-ui,sans-serif;
  letter-spacing:1.75px;
}

.gl127-rail-name textPath,
.gl127-rail-role textPath{
  text-anchor:middle;
}

/* Le texte n'est plus un cartouche sous le médaillon. */
@media(min-width:641px){
  .gl127-node__text--fallback{
    display:none!important;
  }

  .gl127-node{
    width:82px;
  }

  .gl127-node__orb{
    width:68px;
  }
}

/* Accent chromatique très mesuré, sans casser l'or du Cercle. */
.gl127-rail-role--oni{fill:rgba(242,222,168,.82)}
.gl127-rail-role--alka{fill:rgba(169,194,247,.68)}
.gl127-rail-role--naia{fill:rgba(143,218,211,.68)}
.gl127-rail-role--terra{fill:rgba(169,201,138,.66)}
.gl127-rail-role--ignis{fill:rgba(235,154,104,.68)}
.gl127-rail-role--astria{fill:rgba(242,222,168,.74)}
.gl127-rail-role--irma{fill:rgba(243,241,251,.70)}

/* Porte active : les deux rails et leurs textes deviennent clairement lisibles. */
.gl127-text-rail.is-active{
  stroke:rgba(242,222,168,.72)!important;
  opacity:1;
  filter:drop-shadow(0 0 4px rgba(223,194,125,.30));
}

.gl127-rail-name.is-active{
  fill:#f5ead2!important;
  opacity:1;
  filter:drop-shadow(0 0 5px rgba(223,194,125,.24));
}

.gl127-rail-role.is-active{
  fill:#f2dea8!important;
  opacity:1;
  filter:drop-shadow(0 0 5px rgba(223,194,125,.24));
}

/* Ancien système d'étiquettes courbes neutralisé. */
.gl127-path-labels,
.gl127-path-label{
  display:none!important;
}

/* Mobile : on conserve les textes dans la grille, pas les rails courbes. */
@media(max-width:640px){
  .gl127-text-rails{
    display:none;
  }

  .gl127-node__text--fallback{
    display:block;
  }
}

@media(max-width:1050px) and (min-width:641px){
  .gl127-rail-name{
    font-size:13px;
    letter-spacing:2.6px;
  }

  .gl127-rail-role{
    font-size:9px;
    letter-spacing:1.25px;
  }
}
