/* Compact typographic lockup over a flat, geometric aureole. */
.hero h1.sanctuary-wordmark {
  position: relative;
  width: max-content;
  max-width: 100%;
  font-size: clamp(5rem, 10.8vw, 11.5rem);
  line-height: 1.02;
  letter-spacing: .06em;
  margin-top: .75em;
  isolation: isolate;
  text-shadow: none;
}
.sanctuary-wordmark .wordmark-solid {
  position: relative;
  z-index: 2;
  color: #e9dbad;
  -webkit-text-fill-color: #e9dbad;
  text-shadow: 0 0 24px #e5c57518;
}
.hero h1.sanctuary-wordmark .outline {
  position: relative;
  z-index: 2;
  margin: .12em 0 0 .16em;
  color: #06111a;
  /* Dark letter shapes interrupt rays for deliberate layered occlusion. */
  -webkit-text-fill-color: #06111a;
  -webkit-text-stroke: 1px #d9bf85;
  font-size: .86em;
  letter-spacing: .045em;
  text-shadow: none;
}
.hero h1 .wordmark-axis {
  position: absolute;
  z-index: 1;
  left: 3.05em;
  top: 1.045em;
  width: 4.7em;
  height: 4.7em;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.hero h1 .wordmark-emblem {
  display: block;
  width: 100%;
  height: 100%;
  /* Keep the stellar equator exactly horizontal between the two words. */
  transform: translate3d(var(--mark-x, 0px), 0, 0);
  transition: transform 800ms cubic-bezier(.2,.7,.2,1);
}
.wordmark-emblem svg {
  overflow: visible;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  animation: sacred-light 7s ease-in-out infinite;
}
@keyframes sacred-light {
  0%,100% { opacity: .58; }
  50% { opacity: .83; }
}
.hero-copy .latin-title { margin-top: clamp(48px,5.5vw,90px); margin-left: .5em; letter-spacing: .18em; color: #bdab80; }
html[lang="en"] .hero h1.sanctuary-wordmark {
  font-size: clamp(3rem, 7.1vw, 8rem);
  line-height: 1.03;
  letter-spacing: .015em;
}
html[lang="en"] .hero h1.sanctuary-wordmark .outline { margin: .18em 0 0 .16em; letter-spacing: .045em; }
html[lang="en"] .hero h1 .wordmark-axis { left: 5.4em; top: .98em; width: 6.5em; height: 6.5em; }
html[lang="en"] .hero h1.sanctuary-wordmark { margin-top: 1.1em; }
html[lang="en"] .hero-copy .latin-title { visibility: hidden; }
html.page-hidden .wordmark-emblem svg { animation-play-state: paused; }
@media (max-width: 800px) {
  .hero h1.sanctuary-wordmark { font-size: clamp(3rem, 18vw, 7rem); letter-spacing: .04em; }
  .hero h1.sanctuary-wordmark .outline { margin-left: .16em; letter-spacing: .035em; -webkit-text-stroke-width: .75px; }
  .hero h1 .wordmark-axis { left: 3.05em; width: 4.2em; height: 4.2em; }
  .hero-copy .latin-title { margin-left: .4em; letter-spacing: .12em; margin-top: 3.2rem; }
  html[lang="en"] .hero h1.sanctuary-wordmark { font-size: clamp(2rem, 10.5vw, 5rem); letter-spacing: 0; }
  html[lang="en"] .hero h1.sanctuary-wordmark .outline { margin-left: .16em; letter-spacing: .02em; }
  html[lang="en"] .hero h1 .wordmark-axis { left: 5.4em; width: 6em; height: 6em; }
  html[lang="en"] .hero-copy { padding-bottom: 2rem; }
}
/* Mincho for shared Chinese glyphs; SC fallback preserves simplified 难.
   Outline the filled silhouette, never the font's overlapping contours. */
html[lang="zh-CN"] .hero h1.sanctuary-wordmark .outline {
  font-family: "Shippori Mincho", "Noto Serif SC", serif;
  -webkit-text-stroke: 0;
  filter: url(#wordmark-clean-outline);
}
html[lang="zh-CN"] .sanctuary-wordmark .outline.lang-swap { animation: wordmark-language-fade .5s ease; }
@keyframes wordmark-language-fade { from { opacity: .25; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .wordmark-emblem svg { animation: none; opacity: .7; }
  .hero h1 .wordmark-emblem { transition: none; transform: none; }
}
