/* sanctuary · category canon surfaces (lexicon, tonight, ritual, devotion) */
:root{
  --canon-ink:var(--ink,#1a2838);
  --canon-stone:var(--stone,#5a6a5e);
  --canon-mist:var(--mist,#8a968c);
  --canon-sage:var(--sage,#2f5d50);
  --canon-border:var(--border,rgba(26,40,56,0.12));
  --canon-ease:var(--ease,cubic-bezier(.22,.61,.36,1));
  --canon-gold:#c4a574;
}
.canon-wrap{max-width:720px;margin:0 auto;padding:0 24px 96px;position:relative;z-index:1}
.canon-lead{font-size:clamp(15px,2vw,17px);font-weight:300;color:var(--canon-stone);line-height:1.75;max-width:42ch;margin:0 auto 36px;text-align:center}
.canon-note{font-size:12px;color:var(--canon-mist);text-align:center;margin:-18px auto 40px;max-width:44ch;line-height:1.6}
.canon-kicker{font-size:11px;letter-spacing:0.16em;text-transform:lowercase;color:var(--canon-sage);margin:0 0 10px}
.canon-section-title{font-family:Fraunces,Georgia,serif;font-size:clamp(1.35rem,3vw,1.7rem);font-weight:500;color:var(--canon-ink);letter-spacing:-0.02em;margin:0 0 1rem}

.canon-term{padding:28px 0;border-bottom:0.5px solid var(--canon-border)}
.canon-term:first-child{border-top:0.5px solid var(--canon-border)}
.canon-term-h{font-family:Fraunces,Georgia,"DM Sans",serif;font-size:22px;font-weight:500;color:var(--canon-ink);letter-spacing:-0.01em;margin:0 0 10px}
.canon-term-d{font-size:15px;font-weight:300;color:var(--canon-stone);line-height:1.75;margin:0 0 8px}
.canon-term-use{font-size:12px;letter-spacing:0.04em;color:var(--canon-sage);margin:0}
.canon-term-go{margin:12px 0 0;font-size:13px}
.canon-term-go a{color:var(--canon-sage);text-decoration:none}
.canon-term-go a:hover{text-decoration:underline}

.canon-wound-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:8px 0 40px}
@media(min-width:640px){.canon-wound-grid{grid-template-columns:1fr 1fr}}
.canon-wound{
  display:flex;flex-direction:column;gap:6px;padding:20px 18px;border-radius:4px;
  border:0.5px solid var(--canon-border);background:transparent;text-decoration:none;color:inherit;
  transition:border-color .3s var(--canon-ease),transform .3s var(--canon-ease),background .3s;
}
.canon-wound:hover{border-color:rgba(47,93,80,0.45);transform:translateY(-2px);background:rgba(255,255,255,0.35);text-decoration:none}
.canon-wound-k{font-size:10px;letter-spacing:2px;text-transform:lowercase;color:var(--canon-sage)}
.canon-wound-t{font-size:17px;font-weight:400;color:var(--canon-ink);line-height:1.35}
.canon-wound-s{font-size:13px;font-weight:300;color:var(--canon-stone);line-height:1.55}
.canon-wound-go{font-size:11px;letter-spacing:1.2px;text-transform:lowercase;color:var(--canon-sage);margin-top:6px}

.canon-panel{
  margin:28px 0;padding:28px 24px;border-radius:4px;
  border:0.5px solid rgba(47,93,80,0.18);
  background:linear-gradient(165deg,rgba(47,93,80,0.07),rgba(196,165,116,0.05));
}
.canon-panel h2{font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:500;color:var(--canon-ink);margin:0 0 10px}
.canon-panel p{font-size:14px;font-weight:300;color:var(--canon-stone);line-height:1.7;margin:0 0 10px}
.canon-panel ul{margin:12px 0 0;padding:0;list-style:none}
.canon-panel li{font-size:14px;font-weight:300;color:var(--canon-stone);padding:8px 0;border-bottom:0.5px solid rgba(44,62,80,0.08)}
.canon-panel li:last-child{border-bottom:none}
.canon-panel .canon-cta,.canon-cta{
  display:inline-flex;margin-top:16px;color:var(--canon-sage);font-weight:600;text-decoration:none;font-size:14px;
}
.canon-cta:hover{text-decoration:underline}
.clearing-creed-line{font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:400;color:var(--canon-ink)!important;line-height:1.45;max-width:36ch}

.ritual-stage{
  max-width:420px;margin:12px auto 36px;padding:36px 24px 28px;text-align:center;
  border-radius:4px;border:0.5px solid var(--canon-border);
  background:
    radial-gradient(ellipse 70% 80% at 50% 30%,rgba(196,165,116,0.16),transparent 55%),
    linear-gradient(165deg,rgba(26,40,56,0.04),rgba(47,93,80,0.06));
  position:relative;overflow:hidden;
}
.ritual-stage::before{
  content:'';position:absolute;left:50%;top:18%;width:220px;height:220px;transform:translate(-50%,-50%);
  border-radius:50%;background:radial-gradient(circle,rgba(196,165,116,0.18),transparent 70%);
  animation:canon-breathe 8s ease-in-out infinite;pointer-events:none;
}
@keyframes canon-breathe{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.85}
  50%{transform:translate(-50%,-52%) scale(1.06);opacity:1}
}
.ritual-stone{
  width:140px;height:96px;margin:0 auto 16px;border-radius:50% / 42%;
  background:radial-gradient(circle at 35% 30%,#8a8276 0%,#5a5348 55%,#3d3830 100%);
  box-shadow:0 18px 28px rgba(44,62,80,0.18);position:relative;z-index:1;
  transition:transform 1.15s var(--canon-ease),filter 1.15s;
  touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer;
}
.ritual-stone.holding{transform:scale(0.92) translateY(8px);filter:brightness(0.95)}
.ritual-stone.placed{transform:translateY(18px) scale(0.88);filter:brightness(0.9)}
.ritual-label{position:relative;z-index:1;font-size:12px;letter-spacing:2px;text-transform:lowercase;color:var(--canon-sage);margin-bottom:8px}
.ritual-hint{position:relative;z-index:1;font-size:13px;color:var(--canon-stone);line-height:1.55;max-width:28ch;margin:0 auto}
.ritual-meta{font-size:12px;color:var(--canon-mist);text-align:center;margin-top:8px}

.sov-devotion{max-width:640px;margin:0 auto;text-align:center;padding:8px 0 24px}
.sov-devotion-frame{font-size:14px;color:var(--canon-sage);letter-spacing:0.02em;margin:0 0 8px}
.sov-devotion-tag{font-family:Fraunces,Georgia,serif;font-size:clamp(1.25rem,3vw,1.55rem);font-weight:500;color:var(--canon-ink);line-height:1.3;margin:0 auto 8px;max-width:22ch}
.sov-devotion-vow{font-size:15px;font-weight:300;color:var(--canon-stone);line-height:1.75;font-style:italic;max-width:40ch;margin:0 auto 20px}
.sov-pillars{display:grid;gap:14px;text-align:left;margin:24px 0}
.sov-pillar{padding:16px 0;border-bottom:0.5px solid var(--canon-border)}
.sov-pillar-h{font-size:15px;font-weight:500;color:var(--canon-ink);margin:0 0 6px}
.sov-pillar-b{font-size:13px;font-weight:300;color:var(--canon-stone);line-height:1.6;margin:0}

@media(prefers-reduced-motion:reduce){
  .ritual-stage::before{animation:none}
  .ritual-stone{transition:none}
  .canon-wound{transition:none}
}
