.codex-mark-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:999px;
  padding:.35rem;
}

.codex-mark-link:focus-visible{
  outline:2px solid rgba(252,234,187,.85);
  outline-offset:4px;
  border-radius:999px;
}

.codex-mark{
  --mark-size:138px;
  --gold:#f0d79a;
  --gold-soft:rgba(240,215,154,.42);
  --gold-faint:rgba(240,215,154,.18);

  position:relative;
  width:var(--mark-size);
  height:var(--mark-size);
  display:inline-block;
  border-radius:50%;
  filter:drop-shadow(0 0 10px rgba(240,215,154,.08));
}

.codex-ring,
.codex-core,
.codex-star{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.codex-ring-outer{
  inset:0;
  border:2px solid var(--gold);
  border-radius:50%;
  opacity:.95;
}

.codex-ring-inner{
  inset:11px;
  border:1px solid var(--gold-soft);
  border-radius:50%;
  opacity:.9;
}

.codex-core{
  top:50%;
  left:50%;
  width:12px;
  height:12px;
  margin-left:-6px;
  margin-top:-6px;
  background:var(--gold);
  border-radius:50%;
  box-shadow:
    0 0 0 5px rgba(240,215,154,.08),
    0 0 14px rgba(240,215,154,.22);
}

.codex-star{
  width:4px;
  height:4px;
  background:var(--gold);
  border-radius:50%;
  box-shadow:0 0 8px rgba(240,215,154,.3);
}

.star-1{
  top:31px;
  right:33px;
  animation-delay:.2s;
}

.star-2{
  bottom:33px;
  left:34px;
  animation-delay:1.1s;
}

.star-3{
  top:42px;
  left:36px;
  animation-delay:2.1s;
}

/* ---------- Motus ---------- */

.motus-orbit,
.motus-axis{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.motus-orbit{
  top:50%;
  left:50%;
  width:78px;
  height:46px;
  margin-left:-39px;
  margin-top:-23px;
  border:1.5px solid var(--gold-soft);
  border-radius:50%;
  transform-origin:center center;
  animation:motus-drift 16s linear infinite;
}

.motus-orbit-a{
  transform:rotate(24deg);
}

.motus-orbit-b{
  transform:rotate(-24deg);
  animation-duration:21s;
  opacity:.82;
}

.motus-axis{
  top:24px;
  left:50%;
  width:2px;
  height:90px;
  margin-left:-1px;
  background:linear-gradient(
    to bottom,
    rgba(240,215,154,0) 0%,
    rgba(240,215,154,.82) 22%,
    rgba(240,215,154,.95) 50%,
    rgba(240,215,154,.72) 78%,
    rgba(240,215,154,0) 100%
  );
  border-radius:999px;
  transform-origin:center 70%;
  animation:motus-breathe 5.8s ease-in-out infinite;
}

.motus-mark .codex-star{
  animation:motus-twinkle 4.8s ease-in-out infinite;
}

.motus-mark::before,
.motus-mark::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:88px;
  height:34px;
  margin-left:-44px;
  margin-top:-17px;
  border-top:1.5px solid var(--gold);
  border-radius:50%;
  opacity:.92;
  transform-origin:center center;
}

.motus-mark::before{
  transform:rotate(18deg);
  animation:motus-rotate-slow 18s linear infinite;
}

.motus-mark::after{
  transform:rotate(-18deg);
  opacity:.62;
  animation:motus-rotate-reverse 24s linear infinite;
}

.codex-mark-link:hover .motus-mark,
.codex-mark-link:focus-visible .motus-mark{
  filter:drop-shadow(0 0 14px rgba(240,215,154,.12));
}

/* ---------- Nutrimentum ---------- */

.nutrimentum-vessel,
.nutrimentum-stem,
.nutrimentum-seed{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.nutrimentum-mark .codex-star{
  animation:nutrimentum-twinkle 5.2s ease-in-out infinite;
}

.nutrimentum-mark .star-1{
  top:30px;
  right:34px;
}

.nutrimentum-mark .star-2{
  bottom:32px;
  left:34px;
  animation-delay:1.2s;
}

.nutrimentum-mark .star-3{
  top:44px;
  left:38px;
  animation-delay:2.1s;
}

.nutrimentum-vessel{
  left:50%;
  border:1.5px solid var(--gold-soft);
  border-radius:50%;
  transform:translateX(-50%);
}

.nutrimentum-vessel-outer{
  bottom:26px;
  width:84px;
  height:42px;
  border-top-color:transparent;
  animation:nutrimentum-breathe 6.2s ease-in-out infinite;
}

.nutrimentum-vessel-inner{
  bottom:38px;
  width:52px;
  height:22px;
  border-top-color:transparent;
  opacity:.88;
  animation:nutrimentum-breathe 4.8s ease-in-out infinite;
}

.nutrimentum-stem{
  top:24px;
  left:50%;
  width:2px;
  height:72px;
  margin-left:-1px;
  background:linear-gradient(
    to bottom,
    rgba(240,215,154,0) 0%,
    rgba(240,215,154,.65) 22%,
    rgba(240,215,154,.95) 58%,
    rgba(240,215,154,.35) 100%
  );
  border-radius:999px;
  transform-origin:center bottom;
  animation:nutrimentum-flow 5.8s ease-in-out infinite;
}

.nutrimentum-seed{
  top:50%;
  left:50%;
  width:20px;
  height:28px;
  margin-left:-10px;
  margin-top:-26px;
  border:1.6px solid var(--gold);
  border-radius:55% 55% 60% 60% / 48% 48% 64% 64%;
  background:rgba(240,215,154,.06);
  box-shadow:0 0 10px rgba(240,215,154,.08);
  animation:nutrimentum-pulse 5.4s ease-in-out infinite;
}

.nutrimentum-mark::before,
.nutrimentum-mark::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
}

.nutrimentum-mark::before{
  width:74px;
  height:74px;
  margin-left:-37px;
  margin-top:-37px;
  border:1px solid rgba(240,215,154,.14);
  animation:nutrimentum-pulse 6.6s ease-in-out infinite;
}

.nutrimentum-mark::after{
  width:92px;
  height:92px;
  margin-left:-46px;
  margin-top:-46px;
  border:1px solid rgba(240,215,154,.08);
  animation:nutrimentum-pulse 8.2s ease-in-out infinite;
}

.codex-mark-link:hover .nutrimentum-mark,
.codex-mark-link:focus-visible .nutrimentum-mark{
  filter:drop-shadow(0 0 14px rgba(240,215,154,.12));
}

/* ---------- Keyframes ---------- */

@keyframes motus-rotate-slow{
  from{ transform:rotate(18deg); }
  to{ transform:rotate(378deg); }
}

@keyframes motus-rotate-reverse{
  from{ transform:rotate(-18deg); }
  to{ transform:rotate(-378deg); }
}

@keyframes motus-drift{
  0%   { transform:rotate(24deg) scale(1); }
  50%  { transform:rotate(204deg) scale(1.03); }
  100% { transform:rotate(384deg) scale(1); }
}

@keyframes motus-breathe{
  0%,100%{ transform:scaleY(1); opacity:.82; }
  50%    { transform:scaleY(1.08); opacity:1; }
}

@keyframes motus-twinkle{
  0%,100%{ opacity:.35; transform:scale(1); }
  50%    { opacity:1; transform:scale(1.5); }
}

@keyframes nutrimentum-pulse{
  0%,100%{
    transform:scale(1);
    opacity:.72;
  }
  50%{
    transform:scale(1.05);
    opacity:1;
  }
}

@keyframes nutrimentum-breathe{
  0%,100%{
    transform:translateX(-50%) scaleX(1);
    opacity:.82;
  }
  50%{
    transform:translateX(-50%) scaleX(1.06);
    opacity:1;
  }
}

@keyframes nutrimentum-flow{
  0%,100%{
    transform:scaleY(1);
    opacity:.74;
  }
  50%{
    transform:scaleY(1.08);
    opacity:1;
  }
}

@keyframes nutrimentum-twinkle{
  0%,100%{
    opacity:.35;
    transform:scale(1);
  }
  50%{
    opacity:1;
    transform:scale(1.45);
  }
}

@media (prefers-reduced-motion: reduce){
  .viridis-root,
  .viridis-stem,
  .viridis-leaf,
  .viridis-light,
  .viridis-mark .codex-star,
  .humanitas-mark::before,
  .humanitas-arc,
  .humanitas-gesture,
  .humanitas-core,
  .humanitas-mark .codex-star,
  .terra-mark::before,
  .terra-layer,
  .terra-horizon,
  .terra-field,
  .terra-mark .codex-star,
  .motus-mark::before,
  .motus-mark::after,
  .motus-orbit,
  .motus-axis,
  .motus-mark .codex-star,
  .nutrimentum-mark::before,
  .nutrimentum-mark::after,
  .nutrimentum-vessel,
  .nutrimentum-stem,
  .nutrimentum-seed,
  .nutrimentum-mark .codex-star,
  .somnus-mark::before,
  .somnus-mark::after,
  .somnus-halo,
  .somnus-crescent,
  .somnus-veil,
  .somnus-mark .codex-star,
  .vitalis-mark::before,
  .vitalis-mark::after,
  .vitalis-pulse,
  .vitalis-field,
  .vitalis-mark .codex-star,
  .mentis-mark::before,
  .mentis-mark::after,
  .mentis-arch,
  .mentis-branch,
  .mentis-node,
  .mentis-mark .codex-star,
  .chronos-mark::before,
  .chronos-ring,
  .chronos-arc,
  .chronos-node,
  .chronos-mark .codex-star,
  .telos-mark::before,
  .telos-axis,
  .telos-vector,
  .telos-apex,
  .telos-mark .codex-star,
  .nexus-mark::before,
  .nexus-arc,
  .nexus-link,
  .nexus-node,
  .nexus-mark .codex-star{
    animation:none !important;
  }
}

/* ---------- Somnus ---------- */

.somnus-halo,
.somnus-crescent,
.somnus-veil{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.somnus-mark .codex-star{
  animation:somnus-twinkle 6.8s ease-in-out infinite;
}

.somnus-mark .star-1{
  top:30px;
  right:36px;
  animation-delay:.4s;
}

.somnus-mark .star-2{
  top:42px;
  left:34px;
  animation-delay:1.7s;
}

.somnus-mark .star-3{
  bottom:34px;
  right:44px;
  animation-delay:2.8s;
}

.somnus-mark .star-4{
  bottom:30px;
  left:42px;
  animation-delay:3.4s;
  opacity:.55;
}

.somnus-mark .star-5{
  top:58px;
  right:52px;
  animation-delay:4.6s;
  opacity:.48;
}

.somnus-halo{
  left:50%;
  border:1.5px solid var(--gold-soft);
  border-radius:50%;
  transform:translateX(-50%);
}

.somnus-halo-a{
  top:24px;
  width:76px;
  height:76px;
  margin-left:0;
  border-bottom-color:transparent;
  opacity:.78;
  animation:somnus-drift 8.4s ease-in-out infinite;
}

.somnus-halo-b{
  bottom:28px;
  width:58px;
  height:58px;
  border-top-color:transparent;
  opacity:.62;
  animation:somnus-drift 10.2s ease-in-out infinite;
}

.somnus-crescent{
  top:34px;
  left:50%;
  width:26px;
  height:26px;
  margin-left:-13px;
  border-radius:50%;
  box-shadow:-8px 0 0 0 var(--gold);
  opacity:.92;
  animation:somnus-sway 9.2s ease-in-out infinite;
}

.somnus-veil{
  top:50%;
  left:50%;
  width:84px;
  height:32px;
  margin-left:-42px;
  margin-top:-10px;

  border-top:1.8px solid var(--gold);
  border-radius:50%;

  opacity:.95;

  box-shadow:
    0 0 10px rgba(240,215,154,.10),
    0 0 18px rgba(240,215,154,.06);

  animation:somnus-breathe 7.2s ease-in-out infinite;
}

.somnus-veil::after{
  content:"";
  position:absolute;
  left:50%;
  top:6px;
  width:56px;
  height:20px;
  margin-left:-28px;

  border-top:1px solid rgba(240,215,154,.35);
  border-radius:50%;

  opacity:.7;
}

.somnus-mark::before,
.somnus-mark::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
}

.somnus-mark::before{
  width:84px;
  height:40px;
  margin-left:-42px;
  margin-top:-8px;
  border-top:1px solid rgba(240,215,154,.18);
  opacity:.8;
  animation:somnus-breathe 8.8s ease-in-out infinite;
}

.somnus-mark::after{
  width:60px;
  height:20px;
  margin-left:-30px;
  margin-top:16px;
  border-top:1px solid rgba(240,215,154,.12);
  opacity:.72;
  animation:somnus-breathe 10.4s ease-in-out infinite;
}

.codex-mark-link:hover .somnus-mark,
.codex-mark-link:focus-visible .somnus-mark{
  filter:drop-shadow(0 0 14px rgba(240,215,154,.12));
}

@keyframes somnus-drift{
  0%,100%{
    transform:translateX(-50%) translateY(0);
    opacity:.68;
  }
  50%{
    transform:translateX(-50%) translateY(-3px);
    opacity:.96;
  }
}

@keyframes somnus-breathe{
  0%,100%{
    transform:scaleX(1);
    opacity:.76;
  }
  50%{
    transform:scaleX(1.05);
    opacity:1;
  }
}

@keyframes somnus-sway{
  0%,100%{
    transform:translateX(0);
    opacity:.88;
  }
  50%{
    transform:translateX(2px);
    opacity:1;
  }
}

@keyframes somnus-twinkle{
  0%,100%{
    opacity:.24;
    transform:scale(1);
  }
  50%{
    opacity:.82;
    transform:scale(1.22);
  }
}

/* ---------- Vitalis ---------- */

.vitalis-pulse,
.vitalis-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.vitalis-mark .codex-star{
  animation:vitalis-twinkle 4.6s ease-in-out infinite;
}

.vitalis-pulse{
  left:50%;
  border:1.5px solid var(--gold-soft);
  border-radius:50%;
  transform:translateX(-50%);
}

.vitalis-pulse-a{
  top:28px;
  width:72px;
  height:72px;
  animation:vitalis-expand 5.6s ease-in-out infinite;
}

.vitalis-pulse-b{
  top:36px;
  width:52px;
  height:52px;
  opacity:.85;
  animation:vitalis-expand 4.2s ease-in-out infinite;
}

.vitalis-field{
  top:50%;
  left:50%;
  width:90px;
  height:90px;
  margin-left:-45px;
  margin-top:-45px;

  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(240,215,154,.18) 0%,
    rgba(240,215,154,.08) 40%,
    rgba(240,215,154,0) 70%
  );

  animation:vitalis-breathe 6.8s ease-in-out infinite;
}

.vitalis-mark::before,
.vitalis-mark::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
}

.vitalis-mark::before{
  width:100px;
  height:100px;
  margin-left:-50px;
  margin-top:-50px;
  border:1px solid rgba(240,215,154,.12);
  animation:vitalis-expand 7.6s ease-in-out infinite;
}

.vitalis-mark::after{
  width:120px;
  height:120px;
  margin-left:-60px;
  margin-top:-60px;
  border:1px solid rgba(240,215,154,.06);
  animation:vitalis-expand 9.4s ease-in-out infinite;
}

.codex-mark-link:hover .vitalis-mark{
  filter:drop-shadow(0 0 16px rgba(240,215,154,.14));
}

/* animations */

@keyframes vitalis-expand{
  0%,100%{
    transform:translateX(-50%) scale(1);
    opacity:.7;
  }
  50%{
    transform:translateX(-50%) scale(1.08);
    opacity:1;
  }
}

@keyframes vitalis-breathe{
  0%,100%{
    transform:scale(1);
    opacity:.8;
  }
  50%{
    transform:scale(1.06);
    opacity:1;
  }
}

@keyframes vitalis-twinkle{
  0%,100%{
    opacity:.35;
    transform:scale(1);
  }
  50%{
    opacity:1;
    transform:scale(1.35);
  }
}

/* ---------- Mentis ---------- */

.mentis-arch,
.mentis-branch,
.mentis-node{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.mentis-mark .codex-star{
  animation:mentis-twinkle 5.8s ease-in-out infinite;
}

.mentis-mark .star-1{
  top:30px;
  right:34px;
  animation-delay:.3s;
}

.mentis-mark .star-2{
  top:44px;
  left:36px;
  animation-delay:1.4s;
}

.mentis-mark .star-3{
  bottom:34px;
  right:42px;
  animation-delay:2.3s;
}

.mentis-arch{
  left:50%;
  border:1.4px solid var(--gold-soft);
  border-radius:50%;
  transform:translateX(-50%);
}

.mentis-arch-top{
  top:28px;
  width:72px;
  height:42px;
  border-bottom-color:transparent;
  opacity:.78;
  animation:mentis-breathe 7.4s ease-in-out infinite;
}

.mentis-arch-bottom{
  bottom:28px;
  width:72px;
  height:42px;
  border-top-color:transparent;
  opacity:.62;
  animation:mentis-breathe 8.8s ease-in-out infinite;
}

.mentis-branch{
  top:50%;
  left:50%;
  width:64px;
  height:1.5px;
  margin-left:-32px;
  margin-top:-1px;
  background:linear-gradient(
    to right,
    rgba(240,215,154,.08),
    rgba(240,215,154,.9) 50%,
    rgba(240,215,154,.08)
  );
  transform-origin:center center;
  border-radius:999px;
}

.mentis-branch-a{
  transform:rotate(0deg);
  animation:mentis-sway-a 8.6s ease-in-out infinite;
}

.mentis-branch-b{
  transform:rotate(60deg);
  animation:mentis-sway-b 10.2s ease-in-out infinite;
}

.mentis-branch-c{
  transform:rotate(-60deg);
  animation:mentis-sway-c 9.4s ease-in-out infinite;
}

.mentis-node{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 10px rgba(240,215,154,.18);
  animation:mentis-node-pulse 6.4s ease-in-out infinite;
}

.mentis-node-1{
  top:34px;
  left:50%;
  margin-left:-4px;
  animation-delay:.2s;
}

.mentis-node-2{
  right:34px;
  top:78px;
  animation-delay:1.3s;
}

.mentis-node-3{
  left:34px;
  top:78px;
  animation-delay:2.1s;
}

.mentis-mark::before,
.mentis-mark::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
}

.mentis-mark::before{
  width:84px;
  height:84px;
  margin-left:-42px;
  margin-top:-42px;
  border:1px solid rgba(240,215,154,.12);
  opacity:.7;
  animation:mentis-breathe 9.2s ease-in-out infinite;
}

.mentis-mark::after{
  width:44px;
  height:44px;
  margin-left:-22px;
  margin-top:-22px;
  border:1px solid rgba(240,215,154,.18);
  opacity:.85;
  animation:mentis-focus 7.2s ease-in-out infinite;
}

.codex-mark-link:hover .mentis-mark,
.codex-mark-link:focus-visible .mentis-mark{
  filter:drop-shadow(0 0 16px rgba(240,215,154,.13));
}

@keyframes mentis-breathe{
  0%,100%{
    transform:translateX(-50%) scale(1);
    opacity:.72;
  }
  50%{
    transform:translateX(-50%) scale(1.04);
    opacity:1;
  }
}

@keyframes mentis-focus{
  0%,100%{
    transform:scale(1);
    opacity:.75;
  }
  50%{
    transform:scale(.96);
    opacity:1;
  }
}

@keyframes mentis-sway-a{
  0%,100%{ transform:rotate(0deg); opacity:.86; }
  50%{ transform:rotate(4deg); opacity:1; }
}

@keyframes mentis-sway-b{
  0%,100%{ transform:rotate(60deg); opacity:.72; }
  50%{ transform:rotate(64deg); opacity:1; }
}

@keyframes mentis-sway-c{
  0%,100%{ transform:rotate(-60deg); opacity:.72; }
  50%{ transform:rotate(-64deg); opacity:1; }
}

@keyframes mentis-node-pulse{
  0%,100%{
    transform:scale(1);
    opacity:.72;
  }
  50%{
    transform:scale(1.18);
    opacity:1;
  }
}

@keyframes mentis-twinkle{
  0%,100%{
    opacity:.24;
    transform:scale(1);
  }
  50%{
    opacity:.8;
    transform:scale(1.24);
  }
}

/* ---------- Chronos ---------- */

.chronos-ring,
.chronos-arc,
.chronos-node{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.chronos-mark .codex-star{
  animation:chronos-twinkle 6.2s ease-in-out infinite;
}

.chronos-ring{
  top:50%;
  left:50%;
  border:1.4px solid var(--gold-soft);
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.chronos-ring-a{
  width:80px;
  height:80px;
  animation:chronos-rotate 18s linear infinite;
}

.chronos-ring-b{
  width:56px;
  height:56px;
  opacity:.7;
  animation:chronos-rotate-reverse 24s linear infinite;
}

.chronos-arc{
  top:50%;
  left:50%;
  width:88px;
  height:88px;
  margin-left:-44px;
  margin-top:-44px;

  border:1.6px solid var(--gold);
  border-radius:50%;
}

.chronos-arc-a{
  border-right-color:transparent;
  border-bottom-color:transparent;
  opacity:.9;
  animation:chronos-rotate 20s linear infinite;
}

.chronos-arc-b{
  border-left-color:transparent;
  border-top-color:transparent;
  opacity:.6;
  animation:chronos-rotate-reverse 28s linear infinite;
}

.chronos-node{
  top:16px;
  left:50%;
  width:8px;
  height:8px;
  margin-left:-4px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 10px rgba(240,215,154,.2);

  transform-origin:center 52px;
  animation:chronos-orbit 18s linear infinite;
}

.chronos-mark::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:96px;
  height:96px;
  margin-left:-48px;
  margin-top:-48px;

  border:1px solid rgba(240,215,154,.10);
  border-radius:50%;

  animation:chronos-breathe 10s ease-in-out infinite;
}

.codex-mark-link:hover .chronos-mark{
  filter:drop-shadow(0 0 16px rgba(240,215,154,.14));
}

/* animations */

@keyframes chronos-rotate{
  from{ transform:translate(-50%,-50%) rotate(0deg); }
  to{ transform:translate(-50%,-50%) rotate(360deg); }
}

@keyframes chronos-rotate-reverse{
  from{ transform:translate(-50%,-50%) rotate(0deg); }
  to{ transform:translate(-50%,-50%) rotate(-360deg); }
}

@keyframes chronos-orbit{
  from{ transform:rotate(0deg) translateY(52px) rotate(0deg); }
  to{ transform:rotate(360deg) translateY(52px) rotate(-360deg); }
}

@keyframes chronos-breathe{
  0%,100%{ transform:scale(1); opacity:.7; }
  50%{ transform:scale(1.05); opacity:1; }
}

@keyframes chronos-twinkle{
  0%,100%{
    opacity:.3;
    transform:scale(1);
  }
  50%{
    opacity:.9;
    transform:scale(1.3);
  }
}

/* ---------- Telos ---------- */

.telos-axis,
.telos-vector,
.telos-apex{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.telos-mark .codex-star{
  animation:telos-twinkle 5.2s ease-in-out infinite;
}

.telos-axis{
  top:24px;
  left:50%;
  width:2px;
  height:92px;
  margin-left:-1px;

  background:linear-gradient(
    to bottom,
    rgba(240,215,154,0),
    rgba(240,215,154,.8) 30%,
    rgba(240,215,154,.95) 60%,
    rgba(240,215,154,.5)
  );

  border-radius:999px;
  transform-origin:center bottom;

  animation:telos-focus 6.2s ease-in-out infinite;
}

.telos-vector{
  top:48px;
  left:50%;
  width:34px;
  height:34px;

  border-top:1.5px solid var(--gold);
  border-radius:50%;
}

.telos-vector-a{
  margin-left:-34px;
  transform:rotate(-28deg);
  opacity:.85;
}

.telos-vector-b{
  margin-left:0;
  transform:rotate(28deg);
  opacity:.65;
}

.telos-apex{
  top:20px;
  left:50%;
  width:10px;
  height:10px;
  margin-left:-5px;

  background:var(--gold);
  border-radius:50%;

  box-shadow:
    0 0 12px rgba(240,215,154,.3),
    0 0 20px rgba(240,215,154,.18);

  animation:telos-pulse 4.8s ease-in-out infinite;
}

.telos-mark::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:86px;
  height:86px;
  margin-left:-43px;
  margin-top:-43px;

  border:1px solid rgba(240,215,154,.12);
  border-radius:50%;

  animation:telos-breathe 8.4s ease-in-out infinite;
}

.codex-mark-link:hover .telos-mark{
  filter:drop-shadow(0 0 16px rgba(240,215,154,.14));
}

/* animations */

@keyframes telos-focus{
  0%,100%{
    transform:scaleY(1);
    opacity:.75;
  }
  50%{
    transform:scaleY(1.08);
    opacity:1;
  }
}

@keyframes telos-pulse{
  0%,100%{
    transform:scale(1);
    opacity:.8;
  }
  50%{
    transform:scale(1.25);
    opacity:1;
  }
}

@keyframes telos-breathe{
  0%,100%{
    transform:scale(1);
    opacity:.7;
  }
  50%{
    transform:scale(1.05);
    opacity:1;
  }
}

@keyframes telos-twinkle{
  0%,100%{
    opacity:.3;
    transform:scale(1);
  }
  50%{
    opacity:.9;
    transform:scale(1.3);
  }
}

/* ---------- Nexus ---------- */

.nexus-arc,
.nexus-link,
.nexus-node{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.nexus-mark .codex-star{
  animation:nexus-twinkle 5.6s ease-in-out infinite;
}

.nexus-mark .star-1{
  top:30px;
  right:35px;
  animation-delay:.3s;
}

.nexus-mark .star-2{
  top:44px;
  left:35px;
  animation-delay:1.5s;
}

.nexus-mark .star-3{
  bottom:34px;
  left:50%;
  margin-left:-2px;
  animation-delay:2.4s;
}

.nexus-arc{
  top:50%;
  width:42px;
  height:64px;
  margin-top:-32px;
  border:1.5px solid var(--gold);
  border-radius:50%;
  opacity:.88;
}

.nexus-arc-left{
  left:50%;
  margin-left:-38px;
  border-right-color:transparent;
  transform:rotate(-10deg);
  animation:nexus-sway-left 9.2s ease-in-out infinite;
}

.nexus-arc-right{
  left:50%;
  margin-left:-4px;
  border-left-color:transparent;
  transform:rotate(10deg);
  opacity:.72;
  animation:nexus-sway-right 9.8s ease-in-out infinite;
}

.nexus-link{
  top:50%;
  left:50%;
  width:54px;
  height:20px;
  margin-left:-27px;
  margin-top:-10px;
  border-top:1.4px solid rgba(240,215,154,.7);
  border-radius:50%;
}

.nexus-link-a{
  transform:rotate(18deg);
  animation:nexus-breathe 7.6s ease-in-out infinite;
}

.nexus-link-b{
  transform:rotate(-18deg);
  opacity:.62;
  animation:nexus-breathe 9s ease-in-out infinite;
}

.nexus-node{
  top:50%;
  width:8px;
  height:8px;
  margin-top:-4px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 10px rgba(240,215,154,.2);
  animation:nexus-node-pulse 6.2s ease-in-out infinite;
}

.nexus-node-left{
  left:50%;
  margin-left:-30px;
  animation-delay:.2s;
}

.nexus-node-right{
  left:50%;
  margin-left:22px;
  animation-delay:1.3s;
}

.nexus-mark::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:82px;
  height:82px;
  margin-left:-41px;
  margin-top:-41px;
  border:1px solid rgba(240,215,154,.10);
  border-radius:50%;
  animation:nexus-breathe 8.8s ease-in-out infinite;
}

.codex-mark-link:hover .nexus-mark{
  filter:drop-shadow(0 0 16px rgba(240,215,154,.14));
}

/* animations */

@keyframes nexus-sway-left{
  0%,100%{
    transform:rotate(-10deg);
    opacity:.82;
  }
  50%{
    transform:rotate(-5deg);
    opacity:1;
  }
}

@keyframes nexus-sway-right{
  0%,100%{
    transform:rotate(10deg);
    opacity:.68;
  }
  50%{
    transform:rotate(5deg);
    opacity:.95;
  }
}

@keyframes nexus-breathe{
  0%,100%{
    transform:scale(1);
    opacity:.72;
  }
  50%{
    transform:scale(1.05);
    opacity:1;
  }
}

@keyframes nexus-node-pulse{
  0%,100%{
    transform:scale(1);
    opacity:.76;
  }
  50%{
    transform:scale(1.18);
    opacity:1;
  }
}

@keyframes nexus-twinkle{
  0%,100%{
    opacity:.28;
    transform:scale(1);
  }
  50%{
    opacity:.86;
    transform:scale(1.24);
  }
}

/* ---------- Terra ---------- */

.terra-layer,
.terra-horizon,
.terra-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.terra-mark .codex-star{
  animation:terra-twinkle 6.6s ease-in-out infinite;
}

/* layered arcs = environment strata */

.terra-layer{
  left:50%;
  border:1.4px solid var(--gold-soft);
  border-radius:50%;
  transform:translateX(-50%);
}

.terra-layer-a{
  bottom:26px;
  width:84px;
  height:42px;
  border-top-color:transparent;
  opacity:.85;
  animation:terra-breathe 8.2s ease-in-out infinite;
}

.terra-layer-b{
  bottom:36px;
  width:64px;
  height:30px;
  border-top-color:transparent;
  opacity:.65;
  animation:terra-breathe 6.8s ease-in-out infinite;
}

.terra-layer-c{
  bottom:46px;
  width:44px;
  height:18px;
  border-top-color:transparent;
  opacity:.55;
  animation:terra-breathe 5.6s ease-in-out infinite;
}

/* horizon line */

.terra-horizon{
  top:50%;
  left:50%;
  width:82px;
  height:1.6px;
  margin-left:-41px;

  background:linear-gradient(
    to right,
    rgba(240,215,154,0),
    rgba(240,215,154,.9),
    rgba(240,215,154,0)
  );

  opacity:.9;
  animation:terra-shift 9.4s ease-in-out infinite;
}

/* atmospheric field */

.terra-field{
  top:50%;
  left:50%;
  width:96px;
  height:96px;
  margin-left:-48px;
  margin-top:-48px;

  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(240,215,154,.14) 0%,
    rgba(240,215,154,.06) 45%,
    rgba(240,215,154,0) 70%
  );

  animation:terra-breathe 10.2s ease-in-out infinite;
}

.terra-mark::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:110px;
  height:110px;
  margin-left:-55px;
  margin-top:-55px;

  border:1px solid rgba(240,215,154,.08);
  border-radius:50%;

  animation:terra-breathe 11.6s ease-in-out infinite;
}

.codex-mark-link:hover .terra-mark{
  filter:drop-shadow(0 0 16px rgba(240,215,154,.14));
}

/* animations */

@keyframes terra-breathe{
  0%,100%{
    transform:translateX(-50%) scale(1);
    opacity:.7;
  }
  50%{
    transform:translateX(-50%) scale(1.05);
    opacity:1;
  }
}

@keyframes terra-shift{
  0%,100%{
    transform:translateX(-50%);
    opacity:.8;
  }
  50%{
    transform:translateX(-50%) scaleX(1.08);
    opacity:1;
  }
}

@keyframes terra-twinkle{
  0%,100%{
    opacity:.28;
    transform:scale(1);
  }
  50%{
    opacity:.86;
    transform:scale(1.22);
  }
}

/* ---------- Humanitas ---------- */

.humanitas-arc,
.humanitas-gesture,
.humanitas-core{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.humanitas-mark .codex-star{
  animation:humanitas-twinkle 6.8s ease-in-out infinite;
}

/* imperfect enclosure */

.humanitas-arc{
  top:50%;
  width:46px;
  height:70px;
  margin-top:-35px;
  border:1.4px solid var(--gold-soft);
  border-radius:50%;
}

.humanitas-arc-left{
  left:50%;
  margin-left:-40px;
  border-right-color:transparent;
  transform:rotate(-12deg);
  opacity:.85;
  animation:humanitas-breathe 9.2s ease-in-out infinite;
}

.humanitas-arc-right{
  left:50%;
  margin-left:-2px;
  border-left-color:transparent;
  transform:rotate(8deg);
  opacity:.68;
  animation:humanitas-breathe 10.6s ease-in-out infinite;
}

/* gestures (like two presences reaching) */

.humanitas-gesture{
  top:50%;
  left:50%;
  width:56px;
  height:24px;
  margin-left:-28px;
  margin-top:-12px;
  border-top:1.5px solid rgba(240,215,154,.75);
  border-radius:50%;
}

.humanitas-gesture-a{
  transform:rotate(22deg);
  animation:humanitas-sway-a 8.6s ease-in-out infinite;
}

.humanitas-gesture-b{
  transform:rotate(-14deg);
  opacity:.6;
  animation:humanitas-sway-b 9.4s ease-in-out infinite;
}

/* shared but imperfect centre */

.humanitas-core{
  top:50%;
  left:50%;
  width:10px;
  height:10px;
  margin-left:-6px;
  margin-top:-5px;

  background:var(--gold);
  border-radius:50%;

  box-shadow:0 0 12px rgba(240,215,154,.25);

  transform:scale(0.95);
  animation:humanitas-pulse 7.4s ease-in-out infinite;
}

.humanitas-mark::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:90px;
  height:90px;
  margin-left:-45px;
  margin-top:-45px;

  border:1px solid rgba(240,215,154,.08);
  border-radius:50%;

  animation:humanitas-breathe 11.2s ease-in-out infinite;
}

.codex-mark-link:hover .humanitas-mark{
  filter:drop-shadow(0 0 16px rgba(240,215,154,.12));
}

/* animations */

@keyframes humanitas-breathe{
  0%,100%{
    transform:scale(1);
    opacity:.7;
  }
  50%{
    transform:scale(1.04);
    opacity:1;
  }
}

@keyframes humanitas-sway-a{
  0%,100%{ transform:rotate(22deg); opacity:.8; }
  50%{ transform:rotate(26deg); opacity:1; }
}

@keyframes humanitas-sway-b{
  0%,100%{ transform:rotate(-14deg); opacity:.6; }
  50%{ transform:rotate(-10deg); opacity:.85; }
}

@keyframes humanitas-pulse{
  0%,100%{
    transform:scale(0.95);
    opacity:.8;
  }
  50%{
    transform:scale(1.1);
    opacity:1;
  }
}

@keyframes humanitas-twinkle{
  0%,100%{
    opacity:.3;
    transform:scale(1);
  }
  50%{
    opacity:.8;
    transform:scale(1.2);
  }
}

/* ---------- Viridis ---------- */

.viridis-root,
.viridis-stem,
.viridis-leaf,
.viridis-light{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.viridis-mark .codex-star{
  animation:viridis-twinkle 6.2s ease-in-out infinite;
}

/* root (grounding) */

.viridis-root{
  bottom:28px;
  left:50%;
  width:40px;
  height:16px;
  margin-left:-20px;
  border-bottom:1.4px solid rgba(200,220,160,.6);
  border-radius:50%;
  opacity:.7;
  animation:viridis-root-breathe 9.2s ease-in-out infinite;
}

/* stem */

.viridis-stem{
  top:42px;
  left:50%;
  width:2px;
  height:56px;
  margin-left:-1px;

  background:linear-gradient(
    to bottom,
    rgba(200,220,160,.2),
    rgba(200,220,160,.95)
  );

  border-radius:999px;
  animation:viridis-grow 6.8s ease-in-out infinite;
}

/* leaves */

.viridis-leaf{
  top:64px;
  width:34px;
  height:18px;
  border:1.4px solid rgba(200,220,160,.85);
  border-radius:50%;
}

.viridis-leaf-left{
  left:50%;
  margin-left:-32px;
  border-right-color:transparent;
  transform:rotate(-24deg);
  animation:viridis-sway-left 7.8s ease-in-out infinite;
}

.viridis-leaf-right{
  left:50%;
  margin-left:-2px;
  border-left-color:transparent;
  transform:rotate(24deg);
  animation:viridis-sway-right 8.2s ease-in-out infinite;
}

/* light */

.viridis-light{
  top:28px;
  left:50%;
  width:10px;
  height:10px;
  margin-left:-5px;
  border-radius:50%;

  background:#fceabb;

  box-shadow:
    0 0 12px rgba(252,234,187,.32),
    0 0 22px rgba(252,234,187,.18);

  animation:viridis-light-pulse 5.6s ease-in-out infinite;
}

/* hover */

.codex-mark-link:hover .viridis-mark{
  filter:drop-shadow(0 0 16px rgba(200,220,160,.18));
}

/* animations */

@keyframes viridis-root-breathe{
  0%,100%{ transform:scaleX(1); opacity:.6; }
  50%{ transform:scaleX(1.1); opacity:.9; }
}

@keyframes viridis-grow{
  0%,100%{ transform:scaleY(1); opacity:.75; }
  50%{ transform:scaleY(1.06); opacity:1; }
}

@keyframes viridis-sway-left{
  0%,100%{ transform:rotate(-24deg); }
  50%{ transform:rotate(-18deg); }
}

@keyframes viridis-sway-right{
  0%,100%{ transform:rotate(24deg); }
  50%{ transform:rotate(18deg); }
}

@keyframes viridis-light-pulse{
  0%,100%{ transform:scale(1); opacity:.85; }
  50%{ transform:scale(1.22); opacity:1; }
}

@keyframes viridis-twinkle{
  0%,100%{ opacity:.3; transform:scale(1); }
  50%{ opacity:.9; transform:scale(1.2); }
}


/* =========================================================
   Grand Hall Library — bridge mark
   ========================================================= */

.grandhall-mark{
  position:relative;
  filter:drop-shadow(0 0 12px rgba(240,215,154,.10));
}

.grandhall-mark .codex-core{
  box-shadow:
    0 0 0 5px rgba(240,215,154,.08),
    0 0 14px rgba(240,215,154,.20),
    0 0 18px rgba(76,176,255,.10);
}

.grandhall-arch,
.grandhall-spoke,
.grandhall-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.grandhall-arch{
  left:50%;
  transform:translateX(-50%);
  border-top-left-radius:999px;
  border-top-right-radius:999px;
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
  border-style:solid;
  border-bottom:none;
}

.grandhall-arch-outer{
  top:34px;
  width:76px;
  height:42px;
  border-width:1.4px;
  border-color:rgba(240,215,154,.48);
  box-shadow:0 0 8px rgba(240,215,154,.08);
}

.grandhall-arch-inner{
  top:46px;
  width:48px;
  height:26px;
  border-width:1.1px;
  border-color:rgba(240,215,154,.34);
}

.grandhall-spoke{
  top:50%;
  left:50%;
  width:1.2px;
  height:26px;
  margin-top:-6px;
  background:rgba(240,215,154,.34);
  transform-origin:center top;
  box-shadow:0 0 6px rgba(240,215,154,.08);
}

.grandhall-spoke-1{
  margin-left:-0.6px;
  transform:rotate(0deg);
}

.grandhall-spoke-2{
  margin-left:-0.6px;
  transform:rotate(28deg);
}

.grandhall-spoke-3{
  margin-left:-0.6px;
  transform:rotate(-28deg);
}

.grandhall-field{
  top:50%;
  left:50%;
  width:94px;
  height:94px;
  margin-left:-47px;
  margin-top:-47px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(76,176,255,.10) 0%,
    rgba(76,176,255,.04) 42%,
    rgba(76,176,255,0) 72%
  );
  animation:grandhall-breathe 8.8s ease-in-out infinite;
}

.grandhall-mark .star-1{
  top:30px;
  right:34px;
  animation-delay:.3s;
}

.grandhall-mark .star-2{
  bottom:33px;
  left:34px;
  animation-delay:1.2s;
}

.grandhall-mark .star-3{
  top:42px;
  left:36px;
  animation-delay:2.1s;
}

.grandhall-link:hover .grandhall-arch-outer,
.grandhall-link:focus-visible .grandhall-arch-outer{
  border-color:rgba(252,234,187,.74);
}

.grandhall-link:hover .grandhall-spoke,
.grandhall-link:focus-visible .grandhall-spoke{
  background:rgba(252,234,187,.52);
}

.grandhall-link:hover .grandhall-field,
.grandhall-link:focus-visible .grandhall-field{
  animation-duration:6.6s;
}

@keyframes grandhall-breathe{
  0%,100%{
    transform:scale(1);
    opacity:.76;
  }
  50%{
    transform:scale(1.04);
    opacity:1;
  }
}

@media (prefers-reduced-motion: reduce){
  .grandhall-field{
    animation:none !important;
  }
}

/* =========================================================
   Hall of Codices — page/header
   ========================================================= */

.codices-hall-mark{
  --mark-size:148px;
  filter:drop-shadow(0 0 12px rgba(76,176,255,.10));
}

.codices-hall-page-header .codex-mark-link{
  margin-bottom:.35rem;
}

.codices-hall-page-header h1{
  margin-top:.15rem;
  margin-bottom:.3rem;
}

.codices-hall-page-header > .muted{
  margin-bottom:.2rem;
}

.codices-hall-volume{
  margin-top:.25rem;
  opacity:.85;
}

.codices-hall-main{
  max-width:1020px;
  margin:0 auto 1.6rem;
}

.codices-hall-section{
  margin-bottom:1.35rem;
}

.codices-hall-section-top{
  margin-top:1.2rem;
}

.codices-hall-nav{
  margin-top:1rem;
}

.codices-hall-last{
  margin-bottom:0 !important;
}

.codices-hall-topless{
  margin-top:0 !important;
}

/* =========================================================
   Hall of Codices — CSS header mark
   ========================================================= */

.codices-hall-mark{
  --mark-size:148px;
  filter:drop-shadow(0 0 12px rgba(76,176,255,.10));
}

.codices-hall-mark .codex-core{
  box-shadow:
    0 0 0 5px rgba(240,215,154,.08),
    0 0 14px rgba(240,215,154,.22),
    0 0 22px rgba(76,176,255,.12);
}

.codices-orbit,
.codices-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.codices-orbit{
  top:50%;
  left:50%;
  width:82px;
  height:46px;
  margin-left:-41px;
  margin-top:-23px;
  border:1.3px solid rgba(76,176,255,.26);
  border-radius:50%;
  transform-origin:center center;
}

.codices-orbit-a{
  transform:rotate(20deg);
  animation:codices-drift 18s linear infinite;
}

.codices-orbit-b{
  transform:rotate(-20deg);
  opacity:.68;
  animation:codices-drift-reverse 24s linear infinite;
}

.codices-field{
  top:50%;
  left:50%;
  width:92px;
  height:92px;
  margin-left:-46px;
  margin-top:-46px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(76,176,255,.16) 0%,
    rgba(76,176,255,.06) 42%,
    rgba(76,176,255,0) 70%
  );
  animation:codices-breathe 8.4s ease-in-out infinite;
}

.codices-hall-mark .star-1{
  top:30px;
  right:34px;
  animation-delay:.2s;
}

.codices-hall-mark .star-2{
  bottom:33px;
  left:34px;
  animation-delay:1.1s;
}

.codices-hall-mark .star-3{
  top:42px;
  left:36px;
  animation-delay:2.1s;
}

@keyframes codices-drift{
  from{ transform:rotate(20deg); }
  to{ transform:rotate(380deg); }
}

@keyframes codices-drift-reverse{
  from{ transform:rotate(-20deg); }
  to{ transform:rotate(-380deg); }
}

@keyframes codices-breathe{
  0%,100%{
    transform:scale(1);
    opacity:.72;
  }
  50%{
    transform:scale(1.05);
    opacity:1;
  }
}

/* =========================================================
   Hall of Codices — page layout/cards
   ========================================================= */

.section-label{
  margin:0 0 .9rem;
  color:#f0d79a;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.hall-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.2rem;
  align-items:stretch;
  margin-top:1rem;
}

.hall-card-link{
  display:block;
  text-decoration:none;
  color:inherit;
}

.hall-card{
  position:relative;
  margin:0;
  padding:1.1rem 1rem 1rem;
  height:100%;
  box-sizing:border-box;
  border-radius:12px;
  border:1px solid rgba(209,180,100,.35);
  background:rgba(0,0,0,.30);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
  overflow:hidden;
}

.hall-card::before{
  content:"";
  display:block;
  width:100%;
  height:2px;
  margin:-1.05rem -1rem .9rem;
  background:linear-gradient(90deg, rgba(209,180,100,.55), rgba(252,234,187,.12));
}

.hall-card h2{
  margin:0 0 .48rem;
  color:#fceabb;
  font-size:1.05rem;
}

.hall-card p{
  margin:0;
  line-height:1.55;
  opacity:.95;
}

.hall-status{
  margin-top:.55rem !important;
  opacity:.88;
}

.hall-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,.45);
  border-color:rgba(252,234,187,.8);
  background:rgba(0,0,0,.36);
}

.hall-card-link:focus-visible .hall-card{
  outline:2px solid rgba(252,234,187,.85);
  outline-offset:3px;
  border-color:rgba(252,234,187,.85);
}

.is-placeholder{
  opacity:.9;
  border-style:dashed;
}

.is-placeholder:hover{
  transform:none;
  box-shadow:none;
  border-color:rgba(209,180,100,.35);
  background:rgba(0,0,0,.30);
}

.subsection-label{
  margin:1.15rem 0 .45rem;
  color:#d8c38e;
  font-size:.9rem;
  letter-spacing:.05em;
  text-transform:none;
  font-weight:600;
}

/* =========================================================
   Hall of Inquiry — page/header
   ========================================================= */

.inquiry-hall-page-header{
  text-align:center;
}

.inquiry-hall-volume{
  margin-top:.25rem;
  opacity:.85;
}

.inquiry-hall-main{
  max-width:980px;
  margin:0 auto 1.5rem;
}

.inquiry-hall-section{
  margin-bottom:1.2rem;
}

.inquiry-hall-section-top{
  margin-top:1.4rem;
}

.inquiry-hall-section-small{
  margin-top:1rem;
}

.inquiry-hall-nav{
  margin-top:1rem;
}

.inquiry-hall-last{
  margin-bottom:0 !important;
}

/* =========================================================
   Hall of Inquiry — CSS header mark
   ========================================================= */

.inquiry-hall-mark{
  filter:drop-shadow(0 0 12px rgba(76,176,255,.10));
}

.inquiry-hall-mark .codex-core{
  box-shadow:
    0 0 0 5px rgba(240,215,154,.08),
    0 0 14px rgba(240,215,154,.22),
    0 0 20px rgba(76,176,255,.10);
}

.inquiry-orbit,
.inquiry-arc,
.inquiry-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.inquiry-orbit{
  top:50%;
  left:50%;
  width:82px;
  height:46px;
  margin-left:-41px;
  margin-top:-23px;
  border:1.2px solid rgba(76,176,255,.24);
  border-radius:50%;
  transform-origin:center center;
}

.inquiry-orbit-a{
  transform:rotate(18deg);
  animation:inquiry-drift 20s linear infinite;
}

.inquiry-orbit-b{
  transform:rotate(-18deg);
  opacity:.62;
  animation:inquiry-drift-reverse 26s linear infinite;
}

.inquiry-arc{
  top:50%;
  left:50%;
  width:88px;
  height:88px;
  margin-left:-44px;
  margin-top:-44px;
  border:1.4px solid rgba(240,215,154,.24);
  border-radius:50%;
}

.inquiry-arc-a{
  border-right-color:transparent;
  border-bottom-color:transparent;
  opacity:.88;
  animation:inquiry-arc-slow 18s linear infinite;
}

.inquiry-arc-b{
  border-left-color:transparent;
  border-top-color:transparent;
  opacity:.48;
  animation:inquiry-arc-reverse 26s linear infinite;
}

.inquiry-field{
  top:50%;
  left:50%;
  width:92px;
  height:92px;
  margin-left:-46px;
  margin-top:-46px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(76,176,255,.14) 0%,
    rgba(76,176,255,.05) 42%,
    rgba(76,176,255,0) 70%
  );
  animation:inquiry-breathe 8.8s ease-in-out infinite;
}

.inquiry-hall-mark .star-1{
  top:30px;
  right:34px;
  animation-delay:.3s;
}

.inquiry-hall-mark .star-2{
  bottom:33px;
  left:34px;
  animation-delay:1.2s;
}

.inquiry-hall-mark .star-3{
  top:42px;
  left:36px;
  animation-delay:2.1s;
}

@keyframes inquiry-drift{
  from{ transform:rotate(18deg); }
  to{ transform:rotate(378deg); }
}

@keyframes inquiry-drift-reverse{
  from{ transform:rotate(-18deg); }
  to{ transform:rotate(-378deg); }
}

@keyframes inquiry-arc-slow{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

@keyframes inquiry-arc-reverse{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(-360deg); }
}

@keyframes inquiry-breathe{
  0%,100%{
    transform:scale(1);
    opacity:.72;
  }
  50%{
    transform:scale(1.05);
    opacity:1;
  }
}

/* =========================================================
   The Stone Hive Tabernae — page/header
   ========================================================= */

.hive-hall-page-header{
  text-align:center;
}

.hive-hall-volume{
  margin-top:.25rem;
  opacity:.85;
}

.hive-hall-main{
  max-width:960px;
  margin:0 auto 1.5rem;
}

.hive-hall-section{
  margin-bottom:1.2rem;
}

.hive-hall-section-small{
  margin-top:1rem;
}

.hive-hall-nav{
  margin-top:1rem;
}

.hive-hall-last{
  margin-bottom:0 !important;
}

.hive-hall-constellation{
  margin-top:1rem;
}

/* =========================================================
   The Stone Hive Tabernae — CSS header mark
   ========================================================= */

.hive-hall-mark{
  filter:drop-shadow(0 0 12px rgba(240,215,154,.10));
}

.hive-hall-mark .codex-core{
  box-shadow:
    0 0 0 5px rgba(240,215,154,.08),
    0 0 14px rgba(240,215,154,.18),
    0 0 18px rgba(120,90,40,.10);
}

.hive-ring,
.hive-cell,
.hive-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.hive-ring{
  top:50%;
  left:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.hive-ring-a{
  width:82px;
  height:82px;
  border:1.4px solid rgba(240,215,154,.18);
  animation:hive-breathe 8.8s ease-in-out infinite;
}

.hive-ring-b{
  width:58px;
  height:58px;
  border:1px solid rgba(240,215,154,.12);
  animation:hive-breathe 6.6s ease-in-out infinite;
}

.hive-cell{
  width:14px;
  height:12px;
  border:1.2px solid rgba(240,215,154,.62);
  background:rgba(240,215,154,.04);
  clip-path:polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  box-shadow:0 0 8px rgba(240,215,154,.08);
  animation:hive-cell-pulse 7.2s ease-in-out infinite;
}

.hive-cell-1{
  top:34px;
  left:50%;
  margin-left:-7px;
  animation-delay:.2s;
}

.hive-cell-2{
  top:48px;
  left:50%;
  margin-left:-18px;
  animation-delay:1.1s;
}

.hive-cell-3{
  top:48px;
  left:50%;
  margin-left:4px;
  animation-delay:1.8s;
}

.hive-cell-4{
  top:62px;
  left:50%;
  margin-left:-7px;
  animation-delay:2.6s;
}

.hive-cell-5{
  top:76px;
  left:50%;
  margin-left:-7px;
  animation-delay:3.3s;
}

.hive-field{
  top:50%;
  left:50%;
  width:92px;
  height:92px;
  margin-left:-46px;
  margin-top:-46px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(240,215,154,.10) 0%,
    rgba(240,215,154,.04) 44%,
    rgba(240,215,154,0) 70%
  );
  animation:hive-breathe 9.4s ease-in-out infinite;
}

.hive-hall-mark .star-1{
  top:30px;
  right:34px;
  animation-delay:.3s;
}

.hive-hall-mark .star-2{
  bottom:33px;
  left:34px;
  animation-delay:1.2s;
}

.hive-hall-mark .star-3{
  top:42px;
  left:36px;
  animation-delay:2.1s;
}

@keyframes hive-breathe{
  0%,100%{
    transform:translate(-50%,-50%) scale(1);
    opacity:.72;
  }
  50%{
    transform:translate(-50%,-50%) scale(1.04);
    opacity:1;
  }
}

@keyframes hive-cell-pulse{
  0%,100%{
    transform:scale(1);
    opacity:.76;
  }
  50%{
    transform:scale(1.08);
    opacity:1;
  }
}

/* =========================================================
   Hall of Seals & Symbols — page/header
   ========================================================= */

.seals-hall-page-header{
  text-align:center;
}

.seals-hall-main{
  max-width:1120px;
  margin:0 auto 1.5rem;
}

.seals-hall-nav{
  margin-top:1rem;
}

/* =========================================================
   Hall of Seals & Symbols — CSS header mark
   ========================================================= */

.seals-hall-mark{
  filter:drop-shadow(0 0 12px rgba(240,215,154,.10));
}

.seals-hall-mark .codex-core{
  box-shadow:
    0 0 0 5px rgba(240,215,154,.08),
    0 0 14px rgba(240,215,154,.20),
    0 0 20px rgba(76,176,255,.08);
}

.seals-ring,
.seals-glyph,
.seals-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.seals-ring{
  top:50%;
  left:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.seals-ring-a{
  width:84px;
  height:84px;
  border:1.4px solid rgba(240,215,154,.18);
  animation:seals-breathe 9s ease-in-out infinite;
}

.seals-ring-b{
  width:58px;
  height:58px;
  border:1px solid rgba(240,215,154,.14);
  animation:seals-breathe 7.2s ease-in-out infinite;
}

.seals-glyph{
  width:10px;
  height:10px;
  border:1.2px solid rgba(240,215,154,.62);
  background:rgba(240,215,154,.04);
  box-shadow:0 0 8px rgba(240,215,154,.08);
  transform-origin:center center;
}

.seals-glyph-1{
  top:36px;
  left:50%;
  margin-left:-5px;
  clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  animation:seals-glyph-pulse 7.2s ease-in-out infinite;
}

.seals-glyph-2{
  top:54px;
  left:50%;
  margin-left:-20px;
  border-radius:50%;
  animation:seals-glyph-pulse 8.2s ease-in-out infinite;
}

.seals-glyph-3{
  top:54px;
  left:50%;
  margin-left:10px;
  clip-path:polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  animation:seals-glyph-pulse 6.8s ease-in-out infinite;
}

.seals-field{
  top:50%;
  left:50%;
  width:94px;
  height:94px;
  margin-left:-47px;
  margin-top:-47px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(76,176,255,.10) 0%,
    rgba(76,176,255,.04) 40%,
    rgba(76,176,255,0) 70%
  );
  animation:seals-breathe 10.4s ease-in-out infinite;
}

.seals-hall-mark .star-1{
  top:30px;
  right:34px;
  animation-delay:.3s;
}

.seals-hall-mark .star-2{
  bottom:33px;
  left:34px;
  animation-delay:1.2s;
}

.seals-hall-mark .star-3{
  top:42px;
  left:36px;
  animation-delay:2.1s;
}

@keyframes seals-breathe{
  0%,100%{
    transform:translate(-50%,-50%) scale(1);
    opacity:.72;
  }
  50%{
    transform:translate(-50%,-50%) scale(1.04);
    opacity:1;
  }
}

@keyframes seals-glyph-pulse{
  0%,100%{
    transform:scale(1);
    opacity:.76;
  }
  50%{
    transform:scale(1.10);
    opacity:1;
  }
}

/* =========================================================
   Hall of Descendants & Legacy — page/header
   ========================================================= */

.legacy-hall-page-header{
  text-align:center;
}

.legacy-hall-volume{
  margin-top:.25rem;
  opacity:.85;
}

.legacy-hall-main{
  max-width:960px;
  margin:0 auto 1.5rem;
}

.legacy-hall-section{
  margin-bottom:1.2rem;
}

.legacy-hall-section-small{
  margin-top:1rem;
}

.legacy-hall-nav{
  margin-top:1rem;
}

.legacy-hall-last{
  margin-bottom:0 !important;
}

/* =========================================================
   Hall of Descendants & Legacy — CSS header mark
   ========================================================= */

.legacy-hall-mark{
  filter:drop-shadow(0 0 12px rgba(240,215,154,.10));
}

.legacy-hall-mark .codex-core{
  box-shadow:
    0 0 0 5px rgba(240,215,154,.08),
    0 0 14px rgba(240,215,154,.20),
    0 0 18px rgba(120,160,220,.08);
}

.legacy-ring,
.legacy-arc,
.legacy-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.legacy-ring{
  top:50%;
  left:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.legacy-ring-a{
  width:84px;
  height:84px;
  border:1.4px solid rgba(240,215,154,.18);
  animation:legacy-breathe 9s ease-in-out infinite;
}

.legacy-ring-b{
  width:58px;
  height:58px;
  border:1px solid rgba(240,215,154,.12);
  animation:legacy-breathe 7.2s ease-in-out infinite;
}

.legacy-arc{
  top:50%;
  left:50%;
  width:92px;
  height:92px;
  margin-left:-46px;
  margin-top:-46px;
  border:1.2px solid rgba(180,205,255,.18);
  border-radius:50%;
}

.legacy-arc-a{
  border-right-color:transparent;
  border-bottom-color:transparent;
  opacity:.78;
  animation:legacy-arc-slow 18s linear infinite;
}

.legacy-arc-b{
  border-left-color:transparent;
  border-top-color:transparent;
  opacity:.42;
  animation:legacy-arc-reverse 26s linear infinite;
}

.legacy-field{
  top:50%;
  left:50%;
  width:96px;
  height:96px;
  margin-left:-48px;
  margin-top:-48px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(180,205,255,.10) 0%,
    rgba(180,205,255,.04) 40%,
    rgba(180,205,255,0) 72%
  );
  animation:legacy-breathe 10.2s ease-in-out infinite;
}

.legacy-hall-mark .star-1{
  top:30px;
  right:34px;
  animation-delay:.3s;
}

.legacy-hall-mark .star-2{
  bottom:33px;
  left:34px;
  animation-delay:1.2s;
}

.legacy-hall-mark .star-3{
  top:42px;
  left:36px;
  animation-delay:2.1s;
}

@keyframes legacy-breathe{
  0%,100%{
    transform:translate(-50%,-50%) scale(1);
    opacity:.72;
  }
  50%{
    transform:translate(-50%,-50%) scale(1.04);
    opacity:1;
  }
}

@keyframes legacy-arc-slow{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

@keyframes legacy-arc-reverse{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(-360deg); }
}

/* =========================================================
   The Private Study (Scriptorium) — page/header
   ========================================================= */

.scriptorium-page-header{
  text-align:center;
}

.scriptorium-main{
  max-width:980px;
  margin:0 auto 1.5rem;
}

.scriptorium-subtitle{
  display:block;
  margin-top:.1rem;
  color:#d8c38e;
  font-style:italic;
}

.scriptorium-lede{
  margin:.6rem auto 0;
  max-width:65ch;
}

.scriptorium-nav{
  margin-top:1rem;
}

/* =========================================================
   The Private Study (Scriptorium) — CSS header mark
   ========================================================= */

.scriptorium-mark{
  filter:drop-shadow(0 0 12px rgba(240,215,154,.10));
}

.scriptorium-mark .codex-core{
  box-shadow:
    0 0 0 5px rgba(240,215,154,.08),
    0 0 14px rgba(240,215,154,.20),
    0 0 20px rgba(140,120,80,.08);
}

.scriptorium-ring,
.scriptorium-page,
.scriptorium-line,
.scriptorium-quill,
.scriptorium-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.scriptorium-ring{
  top:50%;
  left:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.scriptorium-ring-a{
  width:84px;
  height:84px;
  border:1.4px solid rgba(240,215,154,.18);
  animation:scriptorium-breathe 9s ease-in-out infinite;
}

.scriptorium-ring-b{
  width:58px;
  height:58px;
  border:1px solid rgba(240,215,154,.12);
  animation:scriptorium-breathe 7.2s ease-in-out infinite;
}

.scriptorium-page{
  top:42px;
  left:50%;
  width:34px;
  height:42px;
  margin-left:-17px;
  border:1.3px solid rgba(240,215,154,.64);
  border-radius:4px;
  background:rgba(240,215,154,.04);
  box-shadow:0 0 8px rgba(240,215,154,.06);
}

.scriptorium-line{
  left:50%;
  width:20px;
  height:1px;
  margin-left:-10px;
  background:rgba(240,215,154,.55);
  border-radius:999px;
  animation:scriptorium-line-breathe 8.2s ease-in-out infinite;
}

.scriptorium-line-1{
  top:51px;
  animation-delay:.2s;
}

.scriptorium-line-2{
  top:58px;
  animation-delay:1.1s;
}

.scriptorium-line-3{
  top:65px;
  animation-delay:1.9s;
}

.scriptorium-quill{
  top:38px;
  left:50%;
  width:28px;
  height:6px;
  margin-left:2px;
  transform:rotate(38deg);
  transform-origin:left center;
}

.scriptorium-quill::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:18px;
  height:8px;
  background:linear-gradient(to right, rgba(243,222,159,.92), rgba(185,137,52,.90));
  clip-path:polygon(0 50%, 18% 18%, 48% 0, 76% 20%, 100% 50%, 76% 80%, 48% 100%, 18% 82%);
  box-shadow:0 1px 4px rgba(0,0,0,.16);
}

.scriptorium-quill::after{
  content:"";
  position:absolute;
  right:0;
  top:2px;
  width:12px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(to right, rgba(126,89,32,.9), rgba(221,185,101,.95));
}

.scriptorium-field{
  top:50%;
  left:50%;
  width:96px;
  height:96px;
  margin-left:-48px;
  margin-top:-48px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(240,215,154,.08) 0%,
    rgba(240,215,154,.03) 42%,
    rgba(240,215,154,0) 72%
  );
  animation:scriptorium-breathe 10.2s ease-in-out infinite;
}

.scriptorium-mark .star-1{
  top:30px;
  right:34px;
  animation-delay:.3s;
}

.scriptorium-mark .star-2{
  bottom:33px;
  left:34px;
  animation-delay:1.2s;
}

.scriptorium-mark .star-3{
  top:42px;
  left:36px;
  animation-delay:2.1s;
}

@keyframes scriptorium-breathe{
  0%,100%{
    transform:translate(-50%,-50%) scale(1);
    opacity:.72;
  }
  50%{
    transform:translate(-50%,-50%) scale(1.04);
    opacity:1;
  }
}

@keyframes scriptorium-line-breathe{
  0%,100%{
    transform:scaleX(1);
    opacity:.68;
  }
  50%{
    transform:scaleX(1.08);
    opacity:.95;
  }
}

/* =========================================================
   The Private Study (Scriptorium) — page layout
   ========================================================= */

.scriptorium-card{
  margin-top:1rem;
}

.scriptorium-card-title{
  margin-top:0;
  color:#fceabb;
}

.scriptorium-card-tight{
  margin:.4rem 0 0;
}

.scriptorium-card-soft{
  margin:.35rem 0 0;
  opacity:.85;
}

.scriptorium-card-intro{
  margin:.4rem 0 1rem;
}

.scriptorium-card-last{
  margin-bottom:0;
}

.scriptorium-toggle-row{
  display:flex;
  gap:.6rem;
  align-items:flex-start;
  cursor:pointer;
}

.scriptorium-toggle-input{
  width:auto;
  margin-top:.2rem;
}

.scriptorium-footer-link{
  margin:.9rem 0 0;
}

.scriptorium-cabinet-block{
  margin-top:1rem;
}

.scriptorium-cabinet-head{
  margin:.2rem 0;
}

.scriptorium-list{
  margin:.5rem 0 0 1.1rem;
  line-height:1.7;
}

.scriptorium-ordered-list{
  margin:.6rem 0 0 1.2rem;
  line-height:1.7;
}

.scriptorium-constellation{
  margin-top:1rem;
}

/* =========================================================
   Gazette — page/header
   ========================================================= */

.gazette-page-header{
  text-align:center;
}

.gazette-main{
  max-width:980px;
  margin:0 auto 1.5rem;
}

.gazette-section{
  margin-bottom:1rem;
}

.gazette-entry{
  margin-top:1rem;
}

.gazette-entry-title{
  margin-top:0;
}

.gazette-nav{
  margin-top:1rem;
}

.gazette-last{
  margin:0;
}

/* =========================================================
   Gazette — CSS header mark
   ========================================================= */

.gazette-mark{
  filter:drop-shadow(0 0 12px rgba(240,215,154,.10));
}

.gazette-mark .codex-core{
  box-shadow:
    0 0 0 5px rgba(240,215,154,.08),
    0 0 14px rgba(240,215,154,.20),
    0 0 18px rgba(76,176,255,.08);
}

.gazette-ring,
.gazette-line,
.gazette-quill,
.gazette-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.gazette-ring{
  top:50%;
  left:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.gazette-ring-a{
  width:84px;
  height:84px;
  border:1.4px solid rgba(240,215,154,.18);
  animation:gazette-breathe 9s ease-in-out infinite;
}

.gazette-ring-b{
  width:58px;
  height:58px;
  border:1px solid rgba(240,215,154,.12);
  animation:gazette-breathe 7.2s ease-in-out infinite;
}

.gazette-line{
  left:50%;
  width:26px;
  margin-left:-13px;
  height:1px;
  background:rgba(240,215,154,.58);
  border-radius:999px;
  animation:gazette-line-breathe 8.2s ease-in-out infinite;
}

.gazette-line-1{ top:44px; animation-delay:.1s; }
.gazette-line-2{ top:50px; animation-delay:.7s; }
.gazette-line-3{ top:56px; animation-delay:1.3s; }
.gazette-line-4{ top:62px; animation-delay:1.9s; }
.gazette-line-5{ top:68px; animation-delay:2.5s; }

.gazette-quill{
  top:38px;
  left:50%;
  width:28px;
  height:6px;
  margin-left:4px;
  transform:rotate(34deg);
  transform-origin:left center;
}

.gazette-quill::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:18px;
  height:8px;
  background:linear-gradient(to right, rgba(243,222,159,.92), rgba(185,137,52,.90));
  clip-path:polygon(0 50%, 18% 18%, 48% 0, 76% 20%, 100% 50%, 76% 80%, 48% 100%, 18% 82%);
  box-shadow:0 1px 4px rgba(0,0,0,.16);
}

.gazette-quill::after{
  content:"";
  position:absolute;
  right:0;
  top:2px;
  width:12px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(to right, rgba(126,89,32,.9), rgba(221,185,101,.95));
}

.gazette-field{
  top:50%;
  left:50%;
  width:96px;
  height:96px;
  margin-left:-48px;
  margin-top:-48px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(76,176,255,.08) 0%,
    rgba(76,176,255,.03) 42%,
    rgba(76,176,255,0) 72%
  );
  animation:gazette-breathe 10.2s ease-in-out infinite;
}

.gazette-mark .star-1{
  top:30px;
  right:34px;
  animation-delay:.3s;
}

.gazette-mark .star-2{
  bottom:33px;
  left:34px;
  animation-delay:1.2s;
}

.gazette-mark .star-3{
  top:42px;
  left:36px;
  animation-delay:2.1s;
}

@keyframes gazette-breathe{
  0%,100%{
    transform:translate(-50%,-50%) scale(1);
    opacity:.72;
  }
  50%{
    transform:translate(-50%,-50%) scale(1.04);
    opacity:1;
  }
}

@keyframes gazette-line-breathe{
  0%,100%{
    transform:scaleX(1);
    opacity:.68;
  }
  50%{
    transform:scaleX(1.08);
    opacity:.95;
  }
}

/* =========================================================
   About — intersecting circles + anchor mark
   ========================================================= */

.about-page-header{
  text-align:center;
}

.about-mark{
  position:relative;
  transform:scale(1.06);
  margin-bottom:.6rem;
  filter:drop-shadow(0 0 10px rgba(76,176,255,.08));
}

.about-circle,
.about-bridge,
.about-anchor-core,
.about-anchor-halo{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.about-circle{
  top:50%;
  width:44px;
  height:44px;
  margin-top:-22px;
  border-radius:50%;
  border:1.4px solid rgba(240,215,154,.62);
  box-shadow:
    0 0 10px rgba(240,215,154,.08),
    inset 0 0 6px rgba(240,215,154,.05);
}

.about-circle-left{
  left:50%;
  margin-left:-34px;
}

.about-circle-right{
  left:50%;
  margin-left:-10px;
}

.about-bridge{
  top:50%;
  left:50%;
  width:24px;
  height:1.5px;
  margin-left:-12px;
  margin-top:-0.75px;
  border-radius:999px;
  background:rgba(240,215,154,.42);
  box-shadow:0 0 8px rgba(240,215,154,.10);
}

.about-anchor-core{
  top:50%;
  left:50%;
  width:10px;
  height:10px;
  margin-left:-5px;
  margin-top:-5px;
  border-radius:50%;
  background:rgba(248,226,170,.96);
  box-shadow:
    0 0 10px rgba(248,226,170,.55),
    0 0 18px rgba(76,176,255,.10);
  z-index:2;
}

.about-anchor-halo{
  top:50%;
  left:50%;
  width:24px;
  height:24px;
  margin-left:-12px;
  margin-top:-12px;
  border-radius:50%;
  border:1px solid rgba(76,176,255,.16);
  background:radial-gradient(
    circle,
    rgba(76,176,255,.07) 0%,
    rgba(76,176,255,.02) 55%,
    transparent 76%
  );
}

.about-seal-link:hover .about-circle,
.about-seal-link:focus-visible .about-circle{
  border-color:rgba(252,234,187,.76);
  box-shadow:
    0 0 12px rgba(240,215,154,.14),
    inset 0 0 8px rgba(240,215,154,.06);
}

.about-seal-link:hover .about-anchor-core,
.about-seal-link:focus-visible .about-anchor-core{
  box-shadow:
    0 0 12px rgba(248,226,170,.68),
    0 0 22px rgba(76,176,255,.14);
}

/* =========================================================
   Feedback — softer intersecting mark
   ========================================================= */

.feedback-page-header{
  text-align:center;
}

.feedback-mark{
  position:relative;
  transform:scale(0.98);
  margin-bottom:.6rem;
  filter:drop-shadow(0 0 6px rgba(240,215,154,.08));
}

.feedback-circle{
  position:absolute;
  top:50%;
  width:40px;
  height:40px;
  margin-top:-20px;
  border-radius:50%;
  border:1.2px solid rgba(240,215,154,.48);
  box-shadow:
    0 0 6px rgba(240,215,154,.06),
    inset 0 0 4px rgba(240,215,154,.04);
}

.feedback-circle-left{
  left:50%;
  margin-left:-30px;
}

.feedback-circle-right{
  left:50%;
  margin-left:-10px;
}

.feedback-bridge{
  position:absolute;
  top:50%;
  left:50%;
  width:22px;
  height:1px;
  margin-left:-11px;
  margin-top:-0.5px;
  background:rgba(240,215,154,.32);
}

.feedback-anchor-core{
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  margin-left:-4px;
  margin-top:-4px;
  border-radius:50%;
  background:rgba(248,226,170,.92);
  box-shadow:
    0 0 6px rgba(248,226,170,.45);
}

.feedback-seal-link:hover .feedback-circle,
.feedback-seal-link:focus-visible .feedback-circle{
  border-color:rgba(252,234,187,.65);
}

.feedback-seal-link:hover .feedback-anchor-core,
.feedback-seal-link:focus-visible .feedback-anchor-core{
  box-shadow:
    0 0 8px rgba(248,226,170,.6);
}

/* =========================================================
   Neural Massage — contemplative wave mark
   ========================================================= */

.neural-page-header{
  text-align:center;
}

.neural-mark{
  position:relative;
  transform:scale(1.02);
  margin-bottom:.6rem;
  filter:drop-shadow(0 0 8px rgba(76,176,255,.08));
}

.neural-wave,
.neural-focus-ring,
.neural-anchor-core,
.neural-anchor-halo{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

.neural-wave{
  top:50%;
  left:50%;
  width:56px;
  height:24px;
  margin-left:-28px;
  border:1.2px solid rgba(240,215,154,.44);
  border-radius:50%;
  border-left-color:transparent;
  border-right-color:transparent;
  opacity:.88;
}

.neural-wave-a{
  margin-top:-18px;
}

.neural-wave-b{
  margin-top:-6px;
  width:46px;
  margin-left:-23px;
  opacity:.62;
}

.neural-focus-ring{
  top:50%;
  left:50%;
  width:34px;
  height:34px;
  margin-left:-17px;
  margin-top:-17px;
  border-radius:50%;
  border:1px solid rgba(76,176,255,.16);
  background:radial-gradient(
    circle,
    rgba(76,176,255,.05) 0%,
    rgba(76,176,255,.02) 56%,
    transparent 76%
  );
}

.neural-anchor-core{
  top:50%;
  left:50%;
  width:9px;
  height:9px;
  margin-left:-4.5px;
  margin-top:-4.5px;
  border-radius:50%;
  background:rgba(248,226,170,.94);
  box-shadow:
    0 0 8px rgba(248,226,170,.42);
  z-index:2;
}

.neural-anchor-halo{
  top:50%;
  left:50%;
  width:20px;
  height:20px;
  margin-left:-10px;
  margin-top:-10px;
  border-radius:50%;
  border:1px solid rgba(240,215,154,.12);
}

.neural-seal-link:hover .neural-wave,
.neural-seal-link:focus-visible .neural-wave{
  border-color:rgba(252,234,187,.64);
  border-left-color:transparent;
  border-right-color:transparent;
}

.neural-seal-link:hover .neural-anchor-core,
.neural-seal-link:focus-visible .neural-anchor-core{
  box-shadow:
    0 0 10px rgba(248,226,170,.55);
}

/* =========================================================
   Hall of Origin & Founder — foundation mark
   ========================================================= */

.founder-page-header{
  text-align:center;
}

.founder-mark{
  position:relative;
  filter:drop-shadow(0 0 10px rgba(240,215,154,.10));
}

/* pillar + base = foundation / authorship */
.founder-pillar,
.founder-base,
.founder-field{
  position:absolute;
  display:block;
  box-sizing:border-box;
}

/* vertical pillar */
.founder-pillar{
  top:50%;
  left:50%;
  width:2px;
  height:36px;
  margin-left:-1px;
  margin-top:-10px;
  background:rgba(240,215,154,.45);
  box-shadow:0 0 6px rgba(240,215,154,.10);
}

/* base foundation */
.founder-base{
  top:50%;
  left:50%;
  width:44px;
  height:10px;
  margin-left:-22px;
  margin-top:16px;
  border-radius:6px;
  border:1px solid rgba(240,215,154,.35);
  background:rgba(240,215,154,.06);
}

/* subtle field (very restrained) */
.founder-field{
  top:50%;
  left:50%;
  width:90px;
  height:90px;
  margin-left:-45px;
  margin-top:-45px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(240,215,154,.08) 0%,
    rgba(240,215,154,.03) 40%,
    rgba(240,215,154,0) 70%
  );
}

/* interaction — very subtle */
.founder-link:hover .founder-pillar,
.founder-link:focus-visible .founder-pillar{
  background:rgba(252,234,187,.7);
}

.founder-link:hover .founder-base,
.founder-link:focus-visible .founder-base{
  border-color:rgba(252,234,187,.7);
}

/* optional micro-breath (very faint) */
.founder-field{
  animation: founder-breathe 9.5s ease-in-out infinite;
}

@keyframes founder-breathe{
  0%,100%{
    transform:scale(1);
    opacity:.7;
  }
  50%{
    transform:scale(1.03);
    opacity:1;
  }
}

@media (prefers-reduced-motion: reduce){
  .founder-field{
    animation:none !important;
  }
}